我想记录网站访问的 IP、日期时间、客户端和引用者数据以访问数据库,但我计划将每天的日志数据记录在单独的表中,例如 06.06.2010 的示例日志将记录在 2010_06_06 命名表中。更改日期后,我将创建一个名为 2010_06_07 的表。但问题是这个表是否已经创建。
关于如何检查 Access 中是否存在表的任何建议?
原文由 HasanG 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是另一种解决方案,比遍历所有表要快一些。
Public Function doesTableExist(strTableName As String) As Boolean
Dim db As DAO.Database
Dim td As DAO.TableDef
Set db = CurrentDb
On Error Resume Next
Set td = db.TableDefs(strTableName)
doesTableExist = (Err.Number = 0)
Err.Clear
End Function
原文由 KevenDenen 发布,翻译遵循 CC BY-SA 3.0 许可协议
742 阅读
1 回答540 阅读
您可以使用隐藏的系统表 MSysObjects 来检查表是否存在:
但是,我同意每天创建一个新表是一个非常糟糕的主意。
编辑:我应该补充一点,表的类型为 1、4 或 6,并且不同类型的其他对象可能与表具有相同的名称,所以最好说:
但是,无法创建与查询同名的表,因此如果需要查找来测试名称,最好在 Type 列表中添加 5,即查询。