Ms SQL限制控制按前一个字段值

时间:2017-07-11 20:03:22

标签: sql ms-access controls where

在食谱数据库中,我有两个表。一个具有每个配方[Recipe_ingr]的成分,另一个具有每种成分的可用量度和重量[Weight2]。

当我输入配方的新配料时,我希望能够仅选择特定食品的可用单位。

我在控制字段中尝试过这个表达式,但它提示我先选择,然后所有记录的选项保持不变,而不是根据记录成分代码改变。

SELECT [Weight2].[Msre_Desc], [Weight2].[Gm_Wgt] FROM Weight2 WHERE Weight2.NDB_No Like Recipe_Ingr.NDB_No ORDER BY [Msre_Desc], [Gm_Wgt];

Picture of my tables

更新

我尝试了6月9日建议的语法更改,但仍然没有自动更新控件,如下图所示:Table

1 个答案:

答案 0 :(得分:0)

建议您将控件命名为与其绑定的字段不同,例如tbxNDB。 SQL需要引用表单上的字段或控件。此外,没有通配符的LIKE运算符不能完成a = sign不会的任何操作。另外,建议不要对多个表中的字段使用完全相同的名称。

如果在combobox RowSource中使用该SQL语句,请尝试:

SELECT Msre_Desc, Gm_Wgt FROM Weight2 WHERE NDB_No = [tbxNDB] ORDER BY Msre_Desc, Gm_Wgt;

您想将Msre_Desc保存为外键,而不是自动编号生成的记录ID吗?