如何讓 Microsoft Access 產生資料庫表格清單?
我遇到了有人建議的 SQL 查詢花藥網站然而,Access 似乎沒有任何介面來簡單地允許運行使用者建立的查詢,如下所示...
SELECT [Name]
FROM MSysObjects
WHERE Type In (1,4,6)
AND Left([Name] , 4) <> "MSys"
ORDER BY [Name]
答案1
您可以執行查詢中的 SQL,因為它就是這樣。
- 在查詢設計中建立新查詢,而不是使用精靈。
- 關閉表格視窗。
- 將視圖變更為
SQL
並輸入您的字串。 - 點擊
RUN
。
答案2
DAO
你可以用in這樣做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 為資料庫提供了兩種不同的物件模型。您選擇哪個版本取決於您的喜好。您還需要對相應庫的引用:
您可以在選單中新增這些引用Tools > References
: