Microsoft Office

DAOを使用してテーブルのフィールド名を取得する

テーブルに含まれるフィールド名を検索、抽出する方法を備忘録代わりに。

Excel VBA 逆引き辞典パーフェクト 2010/2007/2003対応

基本、自分はDAOを使用することが多いのでその場合の話になるんですが

 

Sub GetFieldName()
Dim db As DAO.Database
Dim tbl As DAO.TableDef

Set db = CurrentDb
Set tbl = db.TableDefs("テーブル名")

For i = 1 To tbl.Fields.Count
Debug.Print tbl.Fields(i - 1).Name
Next i

End Sub

 

この場合、「tbl.Fields.Count」はフィールドの数を数えて格納してくれています。

 

for~を使用して、1~フィールド数分の数をループして以下の処理を繰り返しています。

 

「Debug.Print tbl.Fields(i - 1).Name」部分は「i-1」番目のフィールド名をイミディエイトウィンドウに表示させています。

 

ここで「i-1」番目としたのは

 

Fields(0)が一番目のフィールドを指すと決められているため、iを1から始めた場合にそのままにしておくと2番目のフィールドからしか処理されなくなってしまうのです。

 

[rakuten]enterking:11100742[/rakuten]

オススメの記事

-Microsoft Office
-,