sql - 检查 Access 表是否存在

标签 sql ms-access ms-access-2007

我想记录网站访问的IP,日期时间,客户端和代理数据以访问数据库,但是我计划每天将日志数据记录在单独的表中,例如06.06.2010的示例日志将记录在2010_06_06命名表中。日期更改后,我将创建一个名为2010_06_07的表。但是问题是该表是否已经创建。

关于如何检查Access中是否存在表的任何建议?

最佳答案

您可以使用隐藏的系统表MSysObjects检查表是否存在:

If Not IsNull(DlookUp("Name","MSysObjects","Name='TableName'")) Then
    'Table Exists


但是,我同意每天创建一个新表是一个非常糟糕的主意。

编辑:我应该补充一点,表的类型为1、4或6,并且不同类型的其他对象可能具有与表相同的名称,因此最好说:

If Not IsNull(DlookUp("Name","MSysObjects","Name='TableName' And Type In (1,4,6)")) Then
    'Table Exists


但是,无法创建一个名称与查询名称相同的表,因此,如果需要查找以测试名称,最好将“ 5”(即查询)添加到“类型”列表中。

关于sql - 检查 Access 表是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985513/

相关文章:

SQL 查询在 Excel 中不起作用,但在 Access 中起作用

sql - 如何从不同的表中获取两个日期的差异并使用 SQL 查询将其生成为摘要?

sql - 如何编写 PL/SQL 在插入之前先检查记录是否存在

ms-access - 确保 Access 2000 mdb 上的 SQL-92 到 Access 2010 下的 SQL Server

ms-access - Access 2007 一对多关系计数

security - 如何在 Access 2007 中实现用户级安全性

mysql - 用通配符替换文本

sql - 每 N 选择行并进行 SUM

ms-access - 如何获取MS Access中表的列名?

ms-access - 解析数据和时间字符串以 Access 日期值