将联结和查找表与基本Access数据库集成

时间:2013-05-13 18:16:44

标签: forms ms-access-2007 lookup-tables junction-table

我有一个简单的数据库,用于存储客户的姓名,城市和州。我已经添加了这两个新表。一个是查找表,用于描述汽车模型,第二个是用于设置一个或多个带有客户记录的汽车模型的联结表。

这是现在的关系布局:

enter image description here

每张表的数据表。 cust_idmodel_id是自动增量列。

人口统计

enter image description here

lookup_model

enter image description here

junction_model

enter image description here

使用脚本语言,MySQL和HTML我可以在几分钟内完成一个完整的表单。我在确定如何在Access 2007中完成此操作时遇到了一些麻烦。

我需要的两个功能是

  1. 能够编辑/添加项目到查找表
  2. 能够添加新的客户记录,包括从查找表中找到的汽车中进行选择,同时保持主键关系。
  3. 前:

      

    “Mary Jane”拥有福特平托和Datson 510.当我添加她的信息时   使用待创建的表单,她的cust_id将是5,还有两个新的   条目将显示在与她的cust_id的联结表中:2   (福特)和5(datsun)。

    在Access 2007中设置此表单是否有相对轻松的方法?

    编辑:到目前为止,这是我设法完成的工作。此子表单列出了正确的模型/ cust关联,但我希望显示一个仅显示model_desc的组合框(而不是模型ID)。

    enter image description here

1 个答案:

答案 0 :(得分:1)

包含“子表单”的表单将在这种情况下为您提供良好的服务。

  • 您可以创建一个名为“所有者”的表单,该表单绑定到[demographics]表,您可以在其中添加/编辑所有者信息(名称,地址,...)。

  • 您可以创建一个名为“Cars_Owned_subform”的“连续表单”表单,该表单绑定到[junction_model]表。该表单将包含一个组合框,其行Source是[lookup_model]表,显示[model_desc]并返回[model_id]。

  • 然后,您可以使用子窗体向导将“子窗体”控件添加到“所有者”表中,它将帮助您根据[cust_id]将子窗体链接到其父窗体。然后,当您从一个所有者移动到下一个所有者时,他们的汽车将自动在子窗体中更新,如果您在子窗体中添加新汽车,它将自动与当前正在显示其记录的所有者的[cust_id]相关联。 / p>

至于编辑查找表,您可以非常轻松地创建一个简单的表单来编辑[lookup_model]表。

编辑重新:问题更新

要拥有显示 [model_desc]和返回 [model_id]的组合框,您需要让组合框“显示”两列,其中第一列的宽度为零。也就是说,组合框的Format属性应包含像......

这样的值

列数:2
列宽:0“; 1.3646”

...并且数据属性应包含像......

这样的值

行来源:lookup_model
绑定列:1

最终结果如下:

owners_form.png

Design View中的子表单只是:

subform.png