我有一个MS Access 2002表单基本上提供了文本框来操作名为 的表中的记录Materials
。我还有另一个名为 的表,MaterialCosting
该表有一列MaterialID
将其链接到Materials
同样有一列的表MaterialID
。我想做的是向此表单添加一个文本框,该文本框读取和写入MaterialCosting
名为的字段outerCarton
。
以下是我失败的尝试:
- 右键单击表单,选择特性,并且在数据->记录源,输入连接两个表的 SQL 查询 (
SELECT * FROM Materials AS M INNER JOIN MaterialCosting AS C ON C.MaterialID = M.MaterialID
)。然后只需将所需列的名称 (outerCarton
) 放在文本框的控制源。 - 在文本框中控制源, 放
DLookup("[outerCarton]", "[MaterialCosting]", "MaterialCosting.MaterialID = Materials.MaterialID")
这两种方法的结果都是相同的:文本框最终会留#Name?
在其中并且不执行任何操作。
我怎样才能让它工作?
更新
窗体的属性 控件的属性
答案1
我能够重现#Name?
您看到的内容。看来这只是您调用数据的方式的 SQL 语句问题。
为了纠正它,我必须执行以下操作;
- 对于表单记录源,放置此 SQL;
SELECT Materials.*, MaterialCosting.* FROM Materials INNER JOIN MaterialCosting ON Materials.MaterialID = MaterialCosting.MaterialID;
- 现在您应该能够
outerCarton
从文本字段的下拉菜单中选择记录源。 - 切换到表单视图,查看是否可以选择记录并更改值。
让我知道它是如何工作的。