Sub showtablename(ByVal mydbpath As String) '显示数据库的非系统表的表数目
On Error Resume Next
Dim mycat As New ADOX.Catalog
mycat.ActiveConnection = "Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=" & mydbpath
msg = ""
For I = 0 To mycat.Tables.Count - 1
If Left(mycat.Tables(I).Name, 4) <> "MSys" Then msg = msg & mycat.Tables(I).Name & vbCrLf '去掉6个系统表
Next
MsgBox msg, vbOK, "数据库 " & mydbpath & " 共有 " & mycat.Tables.Count - 6 & "个表!"
Set mycat.ActiveConnection = Nothing
End Sub
取ACCESS表名.
'-----------------------------------------------
引用.
Microsoft Activex Data Objects 2.5 Library
Microsoft Ado Ext 2.6 For DDL And Security
'=====================================================
Public mCon As ADODB.Connection
Public mCat As ADOX.Catalog
Public DB_Name As String
Public DB_Title As String
Private Sub Command1_Click()
Dim I As Long
Dim TBL As ADOX.Table
If Not mCon Is Nothing Then Set mCon = Nothing
Set mCon = New ADODB.Connection
'列出所有的表名
Private Sub Command2_Click()
Dim TableName As String
Set rs = conn.OpenSchema(adSchemaTables)
Do While Not rs.EOF
TableName = rs.Fields("TABLE_NAME")
List1.AddItem TableName
rs.MoveNext
Loop
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/db.mdb;Persist Security Info=False"
conn.Open
rs.Open "select * from info", conn, adOpenKeyset, adLockOptimistic
End Sub
Public Function GetDbTabs(ByRef DBconn As ADODB.Connection) As String()
Dim RstSchema As ADODB.Recordset
Dim strCnn As String
Dim ReturnVal() As String
Dim ReID As Long
On Error Resume Next
Set RstSchema = DBconn.OpenSchema(adSchemaTables)
Do Until RstSchema.EOF
If UCase$(Left$(RstSchema.Fields("TABLE_TYPE"), 3)) <> "SYS" Then
ReID = ReID + 1
ReDim Preserve ReturnVal(ReID)
ReturnVal(ReID - 1) = RstSchema.Fields("TABLE_NAME") ' & ":" & RstSchema!TABLE_TYPE
End If
RstSchema.MoveNext
Loop
RstSchema.Close
Set RstSchema = Nothing
GetDbTabs = ReturnVal
End Function