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