📄 86.txt
字号:
如何判断数据中是否存在某一表或查询
在设计数据库程序时,经常会需要先判断一个表或一个查询是否在数据库中,以避免错误的发生。要做到这一点非常简单,我们只需要捕捉VB返回的错误号就行了。
首先打开一个新的工程,添加对DAO引用。然后添加一个标准模块到工程中,在模块的声明段写入下面的语句:
Public Const NameNotInCollection = 3265
将下面这个判断表或查询是否存在的子程序添加到窗体的声明段中:
Option Explicit
Dim DB As Database
Private Function ExistsTableQuery(TName As String) As Boolean
Dim Test As String
On Error Resume Next
' 数据库表集合中是否存在要查询的表的名称
Test = DB.TableDefs(TName).Name
If Err <> NameNotInCollection Then
ExistsTableQuery = True
' 重置error变量
Err = 0
' 数据库查询集合中是否存在要查询的查询的名称
Test = DB.QueryDefs(TName$).Name
If Err <> NameNotInCollection Then
ExistsTableQuery = True
End If
End If
End Function
最后在窗体的Load事件中加入下述代码:
Private Sub Form_Load()
Set DB = DBEngine.Workspaces(0).OpenDatabase("Biblio.mdb")
Debug.Print "BadTable "; IIf(ExistsTableQuery("BadTableName"), _
"确实", "不"); " 存在."
Debug.Print "Authors "; IIf(ExistsTableQuery("Authors"), _
"确实", "不"); " 存在."
End Sub
按F5运行程序,在立即窗口中就会显示出程序运行的结果。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -