如何用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的方法。
请高人指点。
...全文
150 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过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
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2001-11-23 08:58
社区公告
暂无公告