3
私は、隠されているテーブルを含め、ms Accessデータベース内のすべてのテーブルのリストを作成したいと考えています。MS-Accessの非表示テーブルにアクセスするためのVBA構文は何ですか?
私は、隠されているテーブルを含め、ms Accessデータベース内のすべてのテーブルのリストを作成したいと考えています。MS-Accessの非表示テーブルにアクセスするためのVBA構文は何ですか?
以下は、各テーブルの名前をイミディエイトウィンドウに表示します。
Sub ShowAllTables()
Dim obj As AccessObject
For Each obj In Application.CurrentData.AllTables
Debug.Print obj.Name
Next obj
End Sub
AccessObjectがテーブルが非表示になっているかどうかわかりませんが、ADOは確かに可能です。
Sub ShowAllTables2()
Dim cat
Set cat = CreateObject("ADOX.Catalog")
With cat
.ActiveConnection = CurrentProject.Connection
Dim t
For Each t In .tables
Debug.Print t.Name, t.Properties("Jet OLEDB:Table Hidden In Access").Value
Next
End With
End Sub
あなたは、システムテーブルを除外すべきである - 彼らはのMSysで始まる - テーブル上の任意のアクションから、システムテーブルを改ざんすることは永久にデータベースを損傷または破壊することができます。 Left(obj.Name、4)<> "Msys" Then 'Do stuff End If – Fionnuala