日期:2014-05-16  浏览次数:21596 次

Access判断表是否存在
我用的是VB.NET2005
现在需要判断ACCESS是否存在某张表
怎么做?

------解决方案--------------------
1、直接判断系统表中是否存在指定的表名


--列出所有的用户表

SELECT *
FROM MSysObjects
WHERE Flags=0 AND Type=1


前提,必须有访问系统表的权限,如果没有权限,需要让管理员授予权限。

2、用记录集打开SQL串:

select * from 你的表名

捕获错误信息,如果错误信息中含有未找到表等类似信息,给出友好提示或做出相应的处理,表明表不存在。

3、用ADOX,判断指定的表对象是否存在。
------解决方案--------------------
1、
Dim CN As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set CN = CurrentProject.Connection
Set rs = CN.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE "))
While Not rs.EOF
If rs( "table_NAME ")=tablename Then
存在
end if
rs.MoveNext

2、
Dim ff As New ADOX.Catalog
Set ff.ActiveConnection = CurrentProject.Connection
For Each ff21 In ff.Tables
If ff21.Type = "TABLE " Then
MsgBox ff21.Name
End If
Next
Wend