【发布时间】:2016-10-07 15:13:03
【问题描述】:
我正在处理一个似乎无法解决的问题。我有一个 Access 查询,我正在根据单个文本框值的条件检查多个列。前 3 列一切正常。它们都是字符串。
SELECT Req.Ctrl, Vend.VendNick, Req.CSCReq, Req.PO, Req.Status, Line.Quote
FROM Line INNER JOIN (Vend INNER JOIN Req ON Vend.[VendID] = Req.[Vend])
ON Line.Ctrl = Req.Ctrl
WHERE (((Req.CSCReq)=[Forms]![Index]![Box2])) OR
(((Req.PO)=[Forms]![Index]![Box2])) OR
(((Line.Quote)=[Forms]![Index]![Box2]));
当我添加第 4 列时,我收到错误“表达式输入错误,或者太复杂...”
SELECT Req.Ctrl, Vend.VendNick, Req.CSCReq, Req.PO, Req.Status, Line.Quote
FROM Line INNER JOIN (Vend INNER JOIN Req ON Vend.[VendID] = Req.[Vend])
ON Line.Ctrl = Req.Ctrl
WHERE (((Req.CSCReq)=[Forms]![Index]![Box2])) OR
(((Req.PO)=[Forms]![Index]![Box2])) OR
(((Line.Quote)=[Forms]![Index]![Box2])) OR
(((Req.Ctrl)=[Forms]![Index]![Box2]));
我假设这是因为第 4 列是 int 并且访问没有为该特定列正确定义文本框值的参数。有什么办法可以在查询的列级别或在 sql 中解决这个问题,以便前 3 个仍将值视为字符串,但第 4 个将值视为 int?
感谢您的帮助
【问题讨论】: