在Access中删除?

时间:2013-06-09 21:30:54

标签: sql ms-access sql-delete mismatch

我正在尝试使用显示的规范在Access中使用delete命令,但Access一直说“条件表达式中的数据类型不匹配”。有谁知道该怎么办?

DELETE ORDERS.OrderDate, ORDERS.CustomerID
FROM ORDERS
WHERE (((ORDERS.OrderDate)='2008-01-24') AND ((ORDERS.CustomerID)="C0003"));

5 个答案:

答案 0 :(得分:1)

DELETE ORDERS.OrderDate, ORDERS.CustomerID, * FROM ORDERS WHERE
(((ORDERS.OrderDate)=#1/24/2008#) AND ((ORDERS.CustomerID)=3));

答案 1 :(得分:0)

Access中的日期被哈希符号#

包围
WHERE (((ORDERS.OrderDate)=#2008-01-24#) AND ((ORDERS.CustomerID)="C0003"));

答案 2 :(得分:0)

您确定Orders.OrderDate是日期/时间数据类型吗?如果没有尝试: -

DELETE ORDERS.OrderDate, ORDERS.CustomerID
FROM ORDERS
WHERE (((cdate(ORDERS.OrderDate))>#2008/01/24#));

答案 3 :(得分:0)

尝试执行SELECT查询,并单独尝试这些条件中的每一个。如果该DATE字段确实是日期/时间,那么您需要在之前和之后使用#符号。

SELECT ORDERS.OrderDate, ORDERS.CustomerID
FROM ORDERS
WHERE (ORDERS.OrderDate)="#1/24/2008#";

SELECT ORDERS.OrderDate, ORDERS.CustomerID
FROM ORDERS
WHERE (ORDERS.CustomerID)="C0003";

如果他们中的任何一个爆炸,那么你至少可以缩小哪一块没有工作,我们可以专注于那里。

答案 4 :(得分:0)

试试这个

DELETE ORDERS.OrderDate, ORDERS.CustomerID
FROM ORDERS
WHERE ORDERS.OrderDate = #01/24/2008# AND ORDERS.CustomerID = "C0003"