如何判断是否存在指定的表?

zhenxizhou 2002-11-06 07:38:56
√如何用ADO得知ACCESS中有没有指定的表(snoweagle) 20 1 6-13 14:24
√数据库中查找指定的表~如何判断该‘表’是否存在~(cg_i) 60 10 5-20 16:23
?ado+access2000怎么判断数据库中指定的表存在否,不存在怎么处理(downseng) 50 6 5-20 10:47

我用搜索搜到了以上的记录,但却没一个能够打开,都是显示没法打开网页。没有办法,只有麻烦大家了:
在一个打开的库文件中,如a.mdb里如何判断是否存在指定的表。如果不存在这个表,则创建,如果存在,则做相应的操作。请问该如何实现?
...全文
47 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Brunhild 2002-11-07
  • 打赏
  • 举报
回复
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset

cn.Open "..."
Set rs = cn.OpenSchema(adSchemaTables, Array(Null, Null, "表名", "table"))
If rs.EOF Then
MsgBox "not found"
Else
MsgBox "found"
End If

sherlock7910 2002-11-07
  • 打赏
  • 举报
回复
up
springlover 2002-11-07
  • 打赏
  • 举报
回复
这个问题已经提过很多次了!!见下面:

Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
cnn.Open Me.Adodata.ConnectionString
'"Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;User ID=" & cstDefaultUser & ";password =" & cstDefaultPassWord & ";Data Source=" & Trim(Cd.filename) & ";Jet OLEDB:System database=" & cstSystemDb & ";Jet OLEDB:Database Password=" & InputBox("请输入数据库的密码,没有直接单击确定!", cstmsg, "")
Set rst = cnn.OpenSchema(adSchemaTables)
Me.com_tablename.Clear
Do While Not rst.EOF
If Mid(rst.Fields(2), 1, 4) <> "MSys" Then
if rst.Fields(2)="我所指定的表的名字" then
---你的代码----
msgbox "存在这样一张表!"

---你的代码----
end if

End If
rst.MoveNext
Loop
XLYT 2002-11-07
  • 打赏
  • 举报
回复
ACCESS里面有个系统表,里面是各表的名称,类似于SQL SERVER里面的sysobjects。
zhenxizhou 2002-11-07
  • 打赏
  • 举报
回复
谢谢各位!晚上回去试。通过明天结帖。
守城小轩 2002-11-06
  • 打赏
  • 举报
回复
关注!!!!
hycao 2002-11-06
  • 打赏
  • 举报
回复
如何判断是否存在指定的表?
可以试试用错误号Err.Number来判断,简单示例(当然,也许有别的更好的办法):
Option Explicit
Private Sub Form_Load()
On Error GoTo err1
Dim conn As ADODB.Connection
Dim connStr As String, SQLSelect As String
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\abc.mdb;"
Set conn = New ADODB.Connection
conn.ConnectionString = connStr
conn.Open
SQLSelect = "select * from abcde" 'abcde表不存在
conn.Execute SQLSelect
err1:
If Err.Number = -2147217865 Then
MsgBox Err.Description
End If
conn.Close
Set conn = Nothing
End Sub
zhenxizhou 2002-11-06
  • 打赏
  • 举报
回复
刚才搜索还可以的。现在不知怎么回事,无论怎样搜索,结果出来后会很快消失,然后出来个窗口显示“数字参数不允许为空!!()”。
哎!
有哥 2002-11-06
  • 打赏
  • 举报
回复
打不开就点后面的“管理”就打开了

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧