如何向 MS Access 2002 表单添加与另一个表相关的字段?

如何向 MS Access 2002 表单添加与另一个表相关的字段?

我有一个MS Access 2002表单基本上提供了文本框来操作名为 的表中的记录Materials。我还有另一个名为 的表,MaterialCosting该表有一列MaterialID将其链接到Materials同样有一列的表MaterialID。我想做的是向此表单添加一个文本框,该文本框读取和写入MaterialCosting名为的字段outerCarton

以下是我失败的尝试:

  1. 右键单击表单,选择特性,并且在数据->记录源,输入连接两个表的 SQL 查询 ( SELECT * FROM Materials AS M INNER JOIN MaterialCosting AS C ON C.MaterialID = M.MaterialID)。然后只需将所需列的名称 ( outerCarton) 放在文本框的控制源
  2. 在文本框中控制源, 放DLookup("[outerCarton]", "[MaterialCosting]", "MaterialCosting.MaterialID = Materials.MaterialID")

这两种方法的结果都是相同的:文本框最终会留#Name?在其中并且不执行任何操作。

我怎样才能让它工作?

更新

窗体的属性 表单的属性 控件的属性 在此处输入图片描述

答案1

我能够重现#Name?您看到的内容。看来这只是您调用数据的方式的 SQL 语句问题。

为了纠正它,我必须执行以下操作;

  1. 对于表单记录源,放置此 SQL;SELECT Materials.*, MaterialCosting.* FROM Materials INNER JOIN MaterialCosting ON Materials.MaterialID = MaterialCosting.MaterialID;
  2. 现在您应该能够outerCarton从文本字段的下拉菜单中选择记录源。
  3. 切换到表单视图,查看是否可以选择记录并更改值。

让我知道它是如何工作的。

相关内容