Private Sub ListAllTbl(MdbName As String)
Dim catJxc As New ADOX.Catalog
Dim tabDbbld As New ADOX.Table
Dim TmpTblName As String
Dim CountSql As String
Dim j As Long
'如果该数据库不存在,则建之
On Error GoTo OnError
MdbName = Text1(0).Text
CountSql = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & MdbName & ";"
catJxc.ActiveConnection = CountSql
'处理单行数据
Combo1.Clear
For j = 0 To catJxc.Tables.Count - 1
Select Case catJxc.Tables(j).Type
Case "TABLE"
TmpTblName = catJxc.Tables(j).Name
Combo1.AddItem TmpTblName
End Select
Next
Set catJxc.ActiveConnection = Nothing
Exit Sub
OnError:
MsgBox "查询数据库时出错!" & Err.Number & Err.Description
Debug.Print CountSql
Debug.Print Err.Description
Resume Next
'----------------------------------------------------------------------------
'
'Author:lihonggen0
'Date:2003-6-19
'功能:获取access库中表的个数及表的名称
'用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