Microsoft Access データベース テーブルのリストを生成する

Microsoft Access データベース テーブルのリストを生成する

Microsoft Access でデータベース テーブルのリストを生成するにはどうすればよいですか?

誰かが提案したSQLクエリを見つけました別のウェブサイトただし、Access には、以下のようなユーザーが作成したクエリを簡単に実行できるインターフェイスがないようです...

SELECT [Name]
FROM MSysObjects
WHERE Type In (1,4,6)
AND Left([Name] , 4) <> "MSys"
ORDER BY [Name]

答え1

クエリ内にある SQL を実行できます。それがクエリの内容だからです。

  1. ウィザードではなく、クエリ デザインで新しいクエリを作成します。
    ここに画像の説明を入力してください
  2. テーブルウィンドウを閉じます。
    ここに画像の説明を入力してください
  3. ビューを変更してSQL文字列を入力します。
  4. クリックRUN
    ここに画像の説明を入力してください

答え2

DAO次のように実行できますVB:

Public Sub ListTablesDAO()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef

    Set db = CurrentDb
    For Each tdf In db.TableDefs
        If (tdf.Attributes And dbSystemObject) = 0 Then
            Debug.Print tdf.Name
        End If
    Next tdf
    db.Close: Set db = Nothing
End Sub

そしてこのようにADO

Public Sub ListTablesADO()
    Dim rs As ADODB.Recordset

    Set rs = CurrentProject.Connection.OpenSchema(adSchemaTables)
    Do Until rs.EOF
        If rs!TABLE_TYPE = "TABLE" Then
            Debug.Print rs!TABLE_NAME
        End If
        rs.MoveNext
    Loop
    rs.Close: Set rs = Nothing
End Sub

DAO と ADO は、データベース用に 2 つの異なるオブジェクト モデルを提供します。どちらのバージョンを選択するかは、好みによって異なります。また、それぞれのライブラリへの参照も必要です。

メニューに次の参照を追加できますTools > References:

ここに画像の説明を入力してください

関連情報