![Access 可以在数据输入表单上显示相关字段吗?](https://linux22.com/image/1346590/Access%20%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%95%B0%E6%8D%AE%E8%BE%93%E5%85%A5%E8%A1%A8%E5%8D%95%E4%B8%8A%E6%98%BE%E7%A4%BA%E7%9B%B8%E5%85%B3%E5%AD%97%E6%AE%B5%E5%90%97%EF%BC%9F.png)
假设我正在建立一个 Access 数据库来保存食谱并计算这些食谱的成本。我需要一个食谱表、一个可能成分表和一个食谱条目表。
每种配料的成本以及计量单位都存储在“配料”表中。例如,我们可能会存储一种配料“汉堡包”,其计量单位为“盎司”,成本为每盎司 0.25 美元。
RECIPES INGREDIENTS RECIPELINES
-------- ------------- -------------
ID ID ID
Name Name RecipeID
MeasurementUnit IngredientID
CostPerUnit Quantity
我正在创建一个子表单来添加食谱行。我想允许输入“数量”字段,但我还想显示成分的计量单位。换句话说,我希望表单看起来像这样:
RECIPE FORM
ID: [ 5 ]
Name: [ Guacamole ]
Recipe line items: (this is the subform)
INGREDIENT AMT UNIT
----------------------------------
[ Hass Avocado ] [ 2.0 ] [ EA ]
[ Red Onion ] [ 0.5 ] [ CUP ]
[ Habanero Chile ] [ 2.0 ] [ EA ]
一旦用户输入了成分名称(IngredientID 字段上方的组合框),我希望显示测量单位,以便用户知道他们输入的是盎司、杯、磅还是其他单位。这可能吗?
答案1
我把整个问题都写出来了,然后超级用户告诉我另一个问题碰巧的是,它有我需要的答案。
在表单上,将记录源更改为查询而不是表。在本例中:
SELECT RecipeLines.*, Ingredients.MeasurementUnit
FROM Ingredients
INNER JOIN RecipeLines ON Ingredients.ID = RecipeLines.IngredientID;
然后,MeasurementUnit 将成为文本框上可选择的控制源。通过禁用文本框,它将变为仅供查看的显示。