如何用DAO的方法判断数据库中是否存在某个表?

jshyjyw 2001-11-23 08:58:26
我有如下一段程序,先要判断数据库中是否存在某个表 strTbl ,如果存在则exit sub;否则,执行后面的程序,创建这个表

Dim strDB As String
Dim strTbl As String
Dim dbs As Database
Dim tdf As TableDef
Dim fld As Field


strDB = App.Path & "\" & frm2_1.List1.Text & ".mdb"
strTbl = Trim(Text1.Text)

If FileExist(strDB) = False Then
MsgBox "此幼儿园不存在!", vbOKOnly + 32, "提示"
Exit Sub
End If
Set dbs = OpenDatabase(strDB)

'----------
'在此判断表 strTbl 是否存在,如果存在则exit sub;否则,执行下面的程序,创建这个表
'----------
Set tdf = dbs.CreateTableDef(strTbl)

Set fld = tdf.CreateField("简称", dbText, 30)
tdf.Fields.Append fld
Set fld = tdf.CreateField("全名", dbText, 50)
fld.AllowZeroLength = True
tdf.Fields.Append fld
Set fld = tdf.CreateField("园长", dbText, 50)
tdf.Fields.Append fld
Set fld = tdf.CreateField("联系人", dbText, 30)
fld.AllowZeroLength = True
tdf.Fields.Append fld
Set fld = tdf.CreateField("电话", dbText, 30)
fld.AllowZeroLength = True
tdf.Fields.Append fld
Set fld = tdf.CreateField("备注", dbText, 50)
fld.AllowZeroLength = True
tdf.Fields.Append fld


dbs.TableDefs.Append tdf
dbs.Close
Set dbs = Nothing

判断数据库中是否存在某个表的程序代码该如何写?
不要用错误处理,也不要用ADO的方法。
请高人指点。
...全文
276 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
81083 2001-11-26
  • 打赏
  • 举报
回复
引用dao
jshyjyw 2001-11-24
  • 打赏
  • 举报
回复
啊,这种方法我在其它程序段都用过了,我竟然没想到!我给你分。
y1g1y1 2001-11-23
  • 打赏
  • 举报
回复
以下列出一个数据库中所有的表名:

Dim d As dao.Database
Dim i As Integer
Set d = dao.DBEngine.OpenDatabase("...")
For i = 0 To d.TableDefs.Count - 1
Debug.Print d.TableDefs(i).Name
Next

1,217

社区成员

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

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