我正在通过 Excel 使用 VBA 中的 Access 数据库。我想检查数据库中是否存在表,如果不存在,我想使用与该数据库中标记为“空白”的表相同的字段/定义来创建表。如果需要,我可以简单地复制/重命名 Blank。
我找到了一种使用以下方法检查表是否存在的方法(但不确定这是否是最好的方法)。
Set objCatalog = CreateObject("ADOX.catalog")
objCatalog.ActiveConnection = dbConn
For i = 0 To objCatalog.Tables.Count - 1
If objCatalog.Tables.Item(i).Name = tbName Then tbExists = True
Next
这可行,但当目标表不存在(tbExists = False)时,我正在努力寻找一种使用 Blank 的字段/定义复制或创建新表的方法。
最佳答案
这可能是通过检查表定义是否返回任何内容来检查表是否存在的另一种方法。
TableDef 对象表示基表或链接表的存储定义(仅限 Microsoft Access 工作区)。
Set exampleDB = workSpace.OpenDatabase(DatabaseName)
Set tableDefinition = exampleDB.TableDefs(TableName)
tableExists = Err.Number = 0
了解更多信息
关于excel - 从 Excel VBA - 检查 Access 表是否存在/如果不存在,则创建/复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54174935/