| vb基础 | vb实例教程 | api调用 | 控件使用 | 经验技巧 | 数据库操作 | 算法及技术 | 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运行程序,在立即窗口中就会显示出程序运行的结果 |
||||