Dim db As Object
Dim rst As Object
Set db = DBEngine.Workspaces(0).Databases(0)
MsgBox db.Name
Set rst = db.OpenRecordset("テーブルまたはクエリ名")
Do Until rst.EOF
Debug.Print rst("フィールド名")
DoEvents
rst.MoveNext
Loop
rst.Close: Set rst = Nothing
db.Close: Set db = Nothing
OpenRecordsetメソッドにdbOpenDynasetなどの引数を指定したい場合
定数が使用できないので、下記を参考に数値を入力してください。
| dbOpenTable | 1 |
| dbOpenDynamic | 2 |
| dbOpenDynaset | 3 |
| dbOpenSnapshot | 4 |
SQL ServerのID列を持つテーブルを開くときは、dbSeeChanges(512)オプションを使用するようエラーが発生します。
その場合は以下のように開きます。
Set rst = db.OpenRecordset("テーブルまたはクエリ名", 2, 512)
Access2000以降ではデータベースをする際、上記のコードにある「DBEngine.Workspaces(0).Databases(0)」よりも「CurrentDb」の使用が推奨されているようです。
Set db = CurrentDb
また、別のデータベースを参照する必要があるときは以下のようにしてください。
Set db = DBEngine.Workspaces(0).OpenDatabase("Another.mdb")
FileSystemObjectを使用する場合、例のようにCreateObjectを利用するか
[ツール]-[参照設定]で[Microsoft Scripting Runtime]の参照追加が必要。
Function get_file_version(ByVal strFilePath As String) As String
Dim cFSO As Object
Dim stVersion As String
'FileSystemObjectのインスタンスを生成
Set cFSO = CreateObject("Scripting.FileSystemObject")
'ファイルのバージョンを取得する
stVersion = cFSO.GetFileVersion(strFilePath)
'オブジェクト破棄
Set cFSO = Nothing
get_file_version = stVersion
End Function