ACCESSのフィールド名・データ型・説明をVBで印刷するには?

解決


Lacse  2004-02-20 00:41:06  No: 111942  IP: [192.*.*.*]

今現在ACCESS2003の情報をVB6で取得するプログラムを作成しています。
そこで、ACCESSのテーブルで作成したフィールド名・データ型・説明に記載した項目をVBで得て、DataReportで印刷しようと思っています。
フィールド名はFieldsで取ればいいと思うんですが、他はどうやって取得するんですか?
一覧表の様なものが作りたいのです。
どなたかご教授お願い致します。

環境:WinXP SP1・VB6・ACCESS2003です。

編集 削除
魔界の仮面弁士  2004-02-20 02:31:07  No: 111943  IP: [192.*.*.*]

いくつかの方法がありますが、さしあたっては、
    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 を
取得するのであれば、データの問い合わせが必要になってしまいますね。

編集 削除
Lacse  2004-02-20 09:20:46  No: 111944  IP: [192.*.*.*]

早速のご返答ありがとうございます。
早速上記を参考に作成してみます。

また何かあった場合は宜しくお願い致します。

ありがとうございました。

編集 削除