Sql MS-ACCESS通过“删除ODBC链接表中的行”;通过;

Sql MS-ACCESS通过“删除ODBC链接表中的行”;通过;,sql,ms-access,odbc,ms-access-2007,pass-through,Sql,Ms Access,Odbc,Ms Access 2007,Pass Through,我有一个表链接到ODBC表ODBC数据名称是CUSTOMER\u USER,表名称是CUSTOMER\u INFO,如果这些记录的日期与currentdate不同,我需要使用传递删除ODBC链接表“CUSTOMER\u USER\u CUSTOMER\u INFO”中的所有记录。我尝试了以下代码,并在查询设计选项卡中选择了“传递”,但它总是返回错误消息 DELETE CUSTOMER_USER_CUSTOMER_INFO.* FROM CUSTOMER_USER.CUSTOMER_INFO WH

我有一个表链接到ODBC表ODBC数据名称是CUSTOMER\u USER,表名称是CUSTOMER\u INFO,如果这些记录的日期与currentdate不同,我需要使用传递删除ODBC链接表“CUSTOMER\u USER\u CUSTOMER\u INFO”中的所有记录。我尝试了以下代码,并在查询设计选项卡中选择了“传递”,但它总是返回错误消息

DELETE CUSTOMER_USER_CUSTOMER_INFO.*
FROM CUSTOMER_USER.CUSTOMER_INFO
WHERE SUBMIT_DT <> NOW()

以上所有方法都不起作用

试试这个?还包括一个空过滤器。现在()可能会出现问题。日期()不应为空。您可能需要关闭passthrough,因为DATEVALUE是一个JET函数

DELETE
FROM CUSTOMER_USER_CUSTOMER_INFO
WHERE DATEVALUE(SUBMIT_DT) <> DATE()
    AND SUBMIT_DT IS NOT NULL;
删除
来自客户\用户\客户\信息
其中DATEVALUE(SUBMIT_DT)DATE()
并且SUBMIT_DT不为空;

我知道这是一个旧线程,但我也有这个问题。需要注意的一件事是SQL Server上的1对多关系与要从中删除的表之间的关系。如果存在已定义的1对多关系,并且您试图从该关系的1侧删除,SQL server将保留引用完整性,并且如果该关系的多侧存在相关记录,则不允许您从1侧删除


另一个棘手的问题是,我们可能还不清楚在哪里可以找到这些关系。您可以查看SQL server上的“关系”按钮,但问题也可能存在于一侧的表的删除触发器中。所以有几个地方可以查。您必须修改删除触发器,或者手动删除多条边记录,然后删除单条边记录。祝你好运。

它返回的错误消息是什么?@Siyual it retuns“ODBC-调用失败,错误:语法错误在“CUSTOMER\u USER”处或附近;执行查询时出错(#7)“尝试删除
CUSTOMER\u USER.CUSTOMER\u INFO.*
您的语法应该是
从条件所在的表中删除
否,我需要传递来修改CUSTOMER\u USER\u CUSTOMER\u INFO表,因为该表在我当前的数据库中是一个ODBC链接表。我之所以担心,是因为我实际上没有将查询连接到ODBC链接表。查询是否作为传递?我主要关心的是使用Now vs Date。现在包括时间戳
DELETE CUSTOMER_USER_CUSTOMER_INFO.*
FROM CUSTOMER_USER_CUSTOMER_INFO
WHERE SUBMIT_DT <> NOW()
DELETE CUSTOMER_USER.CUSTOMER_INFO.*
FROM CUSTOMER_USER.CUSTOMER_INFO
DELETE
FROM CUSTOMER_USER_CUSTOMER_INFO
WHERE DATEVALUE(SUBMIT_DT) <> DATE()
    AND SUBMIT_DT IS NOT NULL;