引用:Microsoft ADO Ext 2.5 for DDL and Security。使用 Catalog对象可以获取。 cat.ActiveConnection =你的连接字符串 通过 cat.Tables集合获取
'---------------------------------------------------------------------------- ' '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
adoCN.Close Debug.Print out End Sub
执行如下sql语句得到: SELECT name FROM msysobjects WHERE type=1 and flags=0;
获得数据库表名,并添加到List控件中 Dim Conn As ADODB.Connection Dim rs As New ADODB.Recordset Set rs = Conn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE")) Do Until rs.EOF List1.AddItem rs!TABLE_NAME rs.MoveNext Loop rs.Close Conn.Close省略Array(Empty, Empty, Empty, "TABLE"),可以得到当前数据库中的所有表名(包括系统表)点下面的管理,就可以结帖
'----------------------------------------------------------------------------
'
'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
adoCN.Close
Debug.Print out
End Sub
SELECT name
FROM msysobjects
WHERE type=1 and flags=0;
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=8159
Dim Conn As ADODB.Connection
Dim rs As New ADODB.Recordset
Set rs = Conn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE"))
Do Until rs.EOF
List1.AddItem rs!TABLE_NAME
rs.MoveNext
Loop
rs.Close
Conn.Close省略Array(Empty, Empty, Empty, "TABLE"),可以得到当前数据库中的所有表名(包括系统表)点下面的管理,就可以结帖