在 MS Access 组合框中,如何使用表单值作为 class

In MS Access combo box,how to use form value as where class

我在组合框中使用以下查询显示来自 table 的数据,基于表单文本框字段作为参数,但组合框不显示数据。请注意,主项目 table 中的 itemid 字段是字符串。

SELECT [Item].[ID], [Item].[ItemCode], [Item].[ItemName], [Item].[Price_USD], 
[Item].[Price_GBP], [Item].[Price_THB], [Item].[Price_AED], [Item].[Price_AED_VAT], 
[Item].[Price_SAR], [Item].[Price_SAR_WHT], [Item].[Hogan_Cost_USD] 
FROM Item WHERE [ItemCode]='Forms!Order_Detail subform!itemid'; 

如果这是一个查询对象,那么必须通过父窗体和子窗体容器控件来引用子窗体。我总是将容器命名为不同于它所持有的对象,例如 ctrDetails
WHERE [ItemCode]=Forms!parentformname!ctrDetails.Form!itemid;

如果此 SQL 语句直接在组合框 RowSource 中并且组合框与文本框一起在子表单上,则直接引用文本框即可。我总是命名与字段不同的控件,例如 tbxIC:
WHERE [ItemCode]=[tbxIC]

您是否从项目 table 中提取每个字段?如果是这样,可以使用通配符缩短 SQL:
SELECT * FROM Item WHERE [ItemCode]=[tbxIC];