情景
我正在设计一个数据库来数字化不同鱼类的许多碳记录,价格,销售数量和销售公司。
我有一个名为MainFishNames
的表,其中一个名为CommonNames
的字段(将在表单中输入的名称)和一个名为CategoryID
的字段,以及另一个名为{{1的表},包含2个字段:Category
和Category
。
目标
为了便于数据输入,我试图在表单中编程一个字段,根据他们在另一个字段中输入的鱼名自动填充到鱼类,即Pelagic,Bottom等。
问题
我已经成功编写了另一个字段,根据公司ID使用控制源中的CategoryID
自动填充公司名称,但是当我没有查找值时,我还没想出如何做同样的事情基于ID。
每次我使用DLookup
尝试此操作时,都会在字段中收到错误消息。这可能是使用DLookup
,还是我应该采用另一种方式?
谢谢
答案 0 :(得分:1)
如果我是正确的,MainFishNames包含一个名为CategoryID的字段,它是Category表的FK,那么您将需要一个嵌套的DLookup来首先找到CategoryID,然后将其用作Category Name的条件:
=DLookup("[Category]", "Category", "[CategoryID] = " & DLookup("[CategoryID]", "MainFishNames", "[CommonNames] = '" & Forms!Prices!Combo43 & "'"))
话虽这么说,使用DLookup可能会影响性能,并且可能不适合每个控件。如果您的表单绑定到MainFishNames表,则使用绑定到Category表的子表单应该是一个更简单,更快速的解决方案。