我的数据库中有2个表。一个叫做制表和另一个产品。
制表有两个字段:
Product表有3个字段:
我想要的是当我创建新产品时,它会告诉我产品是否已经存在。我目前正在使用此代码:
DLookup("[Name]", "Product", "[Name] = '" & me.txtName.value & "'")
它工作正常,但曾经发生过一个名称相同但制造不同的产品。因此我无法创建记录。
如果与已创建的产品和制造商相同,我只能创建新记录。
如何在不同的表中为多个条件创建一个Dlookup?
答案 0 :(得分:2)
我怀疑你并不想看到不同的牌桌。您希望阻止添加与现有产品具有相同名称和制造商的产品,因此您要检查Product
表中的两个字段:
DLookup("[Name]", "[Product]", "[Name] = '" & me.txtName & "' And Manufacture_Number = " & me.txtMfrNumber)
制造商的输入控件更可能是组合框,但也可以这样做 - 只需将txtMfrNumber
替换为您正在使用的控件的名称得到这个号码。
请注意,您不需要在.Value
末尾指定me.txtName
,因为Value
是文本框的默认属性。
答案 1 :(得分:1)
你必须像这样嵌套DLookups
:
DLookup("[Name]","Product","[Name]='" & me.txtName.value & "' AND Manufacture_Number=" & Nz(DLookup("Number","Manufacture","[Name]='" & me.txtManufactureName.value & "'" ,0)))
当Nz
返回null时,我使用DLookup
来避免错误。