Access中判断一个表是否存在

来源:互联网 发布:恒源祥淘宝官方旗舰店 编辑:程序博客网 时间:2024/03/28 17:00

平时很少使用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