方法一:通过循环,判断目标表是否存在
Function searchTable(TableName As String) As BooleansearchTable = False '默认不存在Dim tbl As DAO.TableDefFor Each tbl In CurrentDb.TableDefsIf tbl.Name = TableName ThensearchTable = True '如果存在,返回 Ture,并退出循环Exit ForEnd IfNextEnd Function
方法二:通过系统的错误提示,判断表是否存在
Function test()MsgBox TableIsIn("测试表")End FunctionFunction TableIsIn(TableName As String)TableIsIn = True '默认表存在On Error Resume Next '如果报错,继续往下运行Dim strSQL As String'当表不存在时,系统会报错'错误代码为:3078'错误信息:Microsoft Access 数据库引擎找不到输入表或查询“表名”。请确定它存在且其名称拼写正确。strSQL = "select * from " & TableNameCurrentDb.Execute strSQL '执行 sql If Err.Number = 3078 ThenTableIsIn = FalseEnd If End Function