平时很少使用Access遇到该问题了,把网上的结果总结一下 :
1、select * from MSysObjects where name='xx'提示没有查询该系统表的权限,没有再深入找原因,使用的是某个系统建立的mdb,估计是有限制。
2、Public Rs As New Recordset
Public ConStr As String
Public Con As New Connection
Constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:/my.mdb;Persist Security Info=True"
Con.Open ConStr
Set Rs = Con.OpenSchema(20)
Rs.MoveFirst
Do Until Rs.EOF
If Rs("TABLE_TYPE") = "TABLE" Then
If Rs("TABLE_NAME") = "USER_INFO" Then MsgBox Rs("TABLE_NAME")
End If
Rs.MoveNext
Loop
Con.Close
成功!
3、Public Rs As New Recordset
Public ConStr As String
Public Con As New Connection
Constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:/my.mdb;Persist Security Info=True"
Con.Open ConStr
Set tb = Server.CreateObject("ADOX.Table")
Set cat = Server.CreateObject("ADOX.Catalog")
Set cat.ActiveConnection = Con
For Each a In cat.Tables
msgbox a.Name
Next
COn.close
需要引用ADOX