使用表单在Access 2010中创建多个字段

时间:2014-02-26 17:53:18

标签: forms ms-access

所以我有一个表格,我有供应商填写,当他们想要发货给我们。这是一个excel表单,然后我导入Access,以便我可以运行报告。有时当他们发回表格时,我必须手动将数据输入我们的数据库。

表单如下所示: enter image description here

中间部分仅用于示例目的,因此它是一个带有文本的矩形。

所以一切看起来都很简单,直到我到达中间部分。请参阅我的Excel表格,我有一个多个PO和单位的部分。所以基本上每批货都可以有一到多个PO和单位。目前,我可以使用在表单上重新输入每个PO的信息的冗余方法来完成此任务。但我想简单地说。

所以手头的任务是我希望有PO和单位的表单字段,我可以输入多行信息,以便在我点击提交按钮时。它在具有相同供应商信息的单独行中显示在数据库中。

所以,如果我填写了我的表格,请在中间部分:

PO         | Units
111111        22
222222        33
333333        44

当我点击提交时,我希望它将其余的表单信息附加到每个PO的单独行中,这样就像是:

Vendor | City    | State |    PO    | Units
Nike     Memphis    TN     111111     22
Nike     Memphis    TN     222222     33
Nike     Memphis    TN     333333     44

那么我将如何完成这项任务?

1 个答案:

答案 0 :(得分:0)

根据您对问题的描述以及数据最终如何存储在Access中的示例,我认为您使用的是Access作为电子表格而不是数据库。这没关系,但您可能需要考虑规范化数据以充分利用数据库的强大功能。

例如:

  • 创建供应商表,其唯一目的是保留您使用的每个供应商的详细信息。一个非常基本的实现将具有唯一标识每个供应商的ID字段和供应商名称的Name字段。
  • 如果供应商只有一个位置,您也可以在同一个供应商表中存储City,State,ZipCode和Email,但我怀疑有一个单独的VendorLocation或VendorAddress表会更好适合长期。
  • 创建一个VendorShipment表,用于跟踪模型的更高级别信息,例如:

    • ShipmentID(此表的主键)
    • VendorID(返回供应商表的外键)
    • 准备日期
    • 载体
    • 估算费用
    • FreightClass
    • 跟踪#
    • 预计过境时间
  • 最后,创建一个VendorShipmentDetail表,跟踪每批货物的信息,包括:

    • ShipmentDetailID(此表的主键)
    • ShipmentID(返回VendorShipment表的外键)
    • PO
    • 单位
    • 您想要或需要跟踪的任何其他详细信息

以规范化方式组织和存储数据最终有助于简化数据录入\数据管理流程,并有可能带来更好的用户体验。

例如,每次您可以改为使用与Vendor表关联的组合框控件时,不必输入供应商名称,地址信息等。如果表中存在供应商,则从列表中选择它,并且您已经拥有地址信息,无需每次都重新输入。如果供应商尚未存在,则输入一次(可能在供应商屏幕上保存每个供应商的详细信息)并在将来利用这些信息。

然后,您将使用查询将信息重新绑定在一起以进行报告(取消规范化信息)。

数据库设计的艺术可能需要一段时间才能完成,但一个好的起点可能是查看Microsoft多年来一直维护的Northwind数据库。它有一些您可以立即绘制的示例,以便实际了解如何在Access中使用规范化。您可以在此处找到更多信息:http://office.microsoft.com/en-us/templates/northwind-sales-web-database-TC101114818.aspx