当前位置:编程学习 > VB >>

如何判断数据中是否存在某一表或查询

 

 

在设计数据库程序时,经常会需要先判断一个表或一个查询是否在数据库中,以避免错误的发生。要做到这一点非常简单,我们只需要捕捉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运行程序,在立即窗口中就会显示出程序运行的结果。

补充:软件开发 , Vb ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,