今現在ACCESS2003の情報をVB6で取得するプログラムを作成しています。
そこで、ACCESSのテーブルで作成したフィールド名・データ型・説明に記載した項目をVBで得て、DataReportで印刷しようと思っています。
フィールド名はFieldsで取ればいいと思うんですが、他はどうやって取得するんですか?
一覧表の様なものが作りたいのです。
どなたかご教授お願い致します。
環境:WinXP SP1・VB6・ACCESS2003です。
いくつかの方法がありますが、さしあたっては、
ADODB.ConnectionオブジェクトのOpenSchemaメソッド
について調べて見てください。引数の指定を切り替える事で、それらの情報を取得できます。
OpenSchema以外の方法としては、以下のような物が利用できます。
フィールド名:
DAO.FieldオブジェクトのNameプロパティ
ADOX.ColumnオブジェクトのNameプロパティ
ADODB.ConnectionオブジェクトのOpenSchemaメソッド
ADODB.FiledオブジェクトのNameプロパティ
データ型:
DAO.FieldオブジェクトのTypeプロパティ
ADOX.ColumnオブジェクトのTypeプロパティ
ADODB.FiledオブジェクトのTypeプロパティ
テーブルの説明:
DAO.TableDefオブジェクトの"Description"ダイナミックプロパティ
フィールドの説明:
DAO.Fieldオブジェクトの"Description"ダイナミックプロパティ
ADOX.Columnオブジェクトの"Description"ダイナミックプロパティ
※注 [ダイナミックプロパティ]には、Propertiesプロパティ経由でアクセスします。
> フィールド名はFieldsで取ればいいと思うんですが
DAO.TableDef経由なら、.Fields(n).Name で良いと思います。
…ですが、DAO.Recordset や ADODB.Recordset経由で .Fields(n).Name を
取得するのであれば、データの問い合わせが必要になってしまいますね。
早速のご返答ありがとうございます。
早速上記を参考に作成してみます。
また何かあった場合は宜しくお願い致します。
ありがとうございました。