⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 86.txt

📁 VB文章集(含API、窗口、数据库、多媒体、系统、文件、等等)
💻 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 + -