vba获取access数据库的所有表名
时间: 2023-09-27 07:08:58 浏览: 340
您可以通过 VBA 代码中使用 DAO 或 ADO 对象来获取 Access 数据库中的所有表名。下面是一个使用 DAO 的示例代码:
```
Sub GetTableNames_DAO()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Set db = CurrentDb
For Each tdf In db.TableDefs
If Not (tdf.Attributes And dbSystemObject) = dbSystemObject Then
Debug.Print tdf.Name
End If
Next tdf
Set tdf = Nothing
Set db = Nothing
End Sub
```
如果您想使用 ADO,可以使用以下代码:
```
Sub GetTableNames_ADO()
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cnn = CurrentProject.Connection
Set rs = cnn.OpenSchema(adSchemaTables)
Do While Not rs.EOF
If rs("TABLE_TYPE").Value = "TABLE" Then
Debug.Print rs("TABLE_NAME").Value
End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set cnn = Nothing
End Sub
```
这两个示例代码将打印出 Access 数据库中的所有表名。
阅读全文