这个问题可能有一个非常基本的答案,但是我试着解决我的问题。我正在使用Access 2007。
我的查询如下所示:
SELECT Pricing.*
FROM OrderReceipt_be
INNER JOIN Pricing ON CInt(OrderReceipt_be.[Pricing Table Option Code]) = Pricing.ID
WHERE OrderReceipt_be.[PO_Number] = PONumber();
无论出于何种原因,[PO_Number]字段将作为文本存储在我的密钥上,这是一个long int。这就是我尝试将其转换为整数的原因。
但是,当我运行查询时,我收到错误
"编译错误。在查询表达式CInt中(OrderReceipt_be。[定价 表选项代码])= Pricing.ID"。
我做了一些基础研究,似乎最常见的问题是我错过了参考图书馆。但是,经过整个列表,我没有看到任何标记为"缺少"所以它一定是别的东西。我也尝试过禁用和重新启用所有启用的参考库,看看是否有帮助,但到目前为止还没有。
有什么想法吗?
答案 0 :(得分:0)
如果您的代码 Null ,请尝试:
SELECT Pricing.*
FROM OrderReceipt_be
INNER JOIN Pricing ON Val(Nz(OrderReceipt_be.[Pricing Table Option Code])) = Pricing.ID
WHERE OrderReceipt_be.[PO_Number] = PONumber();
或尝试反向转换:
SELECT Pricing.*
FROM OrderReceipt_be
INNER JOIN Pricing ON OrderReceipt_be.[Pricing Table Option Code] = CStr(Pricing.ID)
WHERE OrderReceipt_be.[PO_Number] = PONumber();