导航记录的未绑定组合

时间:2014-07-09 08:36:43

标签: ms-access

我有两个表,如下所示。

表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])

1 个答案:

答案 0 :(得分:1)

首先:你真的不应该将这些信息存储在子表中。在关系数据库中,您应该存储[master]表中的主键值,然后使用查询等来提取人类可读的数据。

你可能已经这样做了,但目前尚不清楚,所以我想我会提到它。

将您的Combo的Rowsource更改为:

select master.[organisation id], master.[organisation name] from master

然后设置Combo的属性:

  • 列数: 2
  • 列宽: 1; 1

这将向用户显示两列。如果您 NOT 想要显示第二列,请设置

  • 列宽: 1,0

现在,在组织ID组合的 AfterUpdate 事件中:

Me.[organisation name control] = me.[your combo].Columns(1)

列是从零开始的,因此Columns(1)引用组合的第二列。

最后,我建议您避免列和表名中的空格。例如,[组织名称]应该由OrganisationName代替,[organization id]应该是OrganisationID。