Dim MyDatabase As Database
Dim MyTable As TableDef
set MyDatabase=OpenDatabase("D:\data\db1.mdb")
For Each MyTable In MyDatabase.TableDefs
Debug.Print MyTable.Name
Next
这样也会把以下四个系统表搞出来。
MSysACEs
MSysObjects
MSysQueries
MSysRelationships用什么方法只获得用户建的表呢???
'用ado怎样实现
'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)
'----------------------------------------------------------------------------
Private Sub Form_Load()
Dim adoCN As New ADODB.Connection '定义数据库的连接
Dim strCnn As New ADODB.Recordset
Dim I As Integer
str1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Northwind.MDB;Persist Security Info=False"
adoCN.Open str1
Set rstSchema = adoCN.OpenSchema(adSchemaTables)
Do Until rstSchema.EOF
If rstSchema!TABLE_TYPE = "TABLE" Then '说明用户表
out = out & "Table name: " & _
rstSchema!TABLE_NAME & vbCr & _
"Table type: " & rstSchema!TABLE_TYPE & vbCr
I = I + 1
End If
rstSchema.MoveNext
Loop
MsgBox I
rstSchema.Close
adoCN.Close
Debug.Print out
End Sub
cn1.Open
Set rs = cn1.OpenSchema(adSchemaTables)
lstTable1.Clear
lblStatus1.Caption = "数据源连接成功,正在检索数据表..."
DoEvents
Do Until rs.EOF
If Trim(rs!TABLE_TYPE) = "TABLE" Then lstTable1.AddItem Trim(rs!TABLE_NAME)
rs.MoveNext
Loop