我有两个表,如下所示。
表1 - 主人
Id | Organisation Id | Organisation Name | Product Name
1 | 1011 | Latel Ltd. | A4 Paper
2 | 2053 | Rahos Ltd. | Files & Folder
3 | 3752 | Rhinos Ltd. | Pens & Pencils
表2 - 接收。截至目前,该表为空白
Organisation id | Price
我想为用户创建一个表单,让他输入表“Receiving”的值。我创建了一个这样的表单
Organisation ID : .......... (Combo box)
Organisation Name : ...............
Input Price .................
Save
组织ID行源是(从主服务器中选择主服务器。[组织ID])
当用户从“组织ID”组合框中选择一个值时,我希望相应的[组织名称]值自动来自主表。然后用户只输入价格并保存。
我在[组织名称]的控制源中尝试了以下公式,但它显示错误“#Name”
i.e. Dlookup("[organisation name]","[master]","[organisation id]=" & form!formname![organisation id])
答案 0 :(得分:1)
首先:你真的不应该将这些信息存储在子表中。在关系数据库中,您应该存储[master]表中的主键值,然后使用查询等来提取人类可读的数据。
你可能已经这样做了,但目前尚不清楚,所以我想我会提到它。
将您的Combo的Rowsource更改为:
select master.[organisation id], master.[organisation name] from master
然后设置Combo的属性:
这将向用户显示两列。如果您 NOT 想要显示第二列,请设置
现在,在组织ID组合的 AfterUpdate 事件中:
Me.[organisation name control] = me.[your combo].Columns(1)
列是从零开始的,因此Columns(1)引用组合的第二列。
最后,我建议您避免列和表名中的空格。例如,[组织名称]应该由OrganisationName代替,[organization id]应该是OrganisationID。