Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 使用表单在Access 2010中创建多个字段_Forms_Ms Access - Fatal编程技术网

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

Forms 使用表单在Access 2010中创建多个字段,forms,ms-access,Forms,Ms Access,所以,我有一张表格,当供应商想要发货给我们时,我会让他们填写。这是一个excel表单,然后我将其导入Access,以便运行报告。有时,当他们发送回表单时,表单的格式是我必须手动将数据输入数据库的格式 表单如下所示: 中间部分只是示例,所以它是一个包含文本的矩形 所以在我到达中间部分之前,一切似乎都很简单。在我的excel表格中,我有一个多采购订单和单位的部分。因此,基本上每批货物都可以有一到多个采购订单和单位。目前,我可以通过在表单上重新输入每个PO的信息的冗余方法来完成此任务。但我想让这件事

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

表单如下所示:

中间部分只是示例,所以它是一个包含文本的矩形

所以在我到达中间部分之前,一切似乎都很简单。在我的excel表格中,我有一个多采购订单和单位的部分。因此,基本上每批货物都可以有一到多个采购订单和单位。目前,我可以通过在表单上重新输入每个PO的信息的冗余方法来完成此任务。但我想让这件事变得简单

所以手头的任务是,我想为采购订单和单位创建一个表单字段,在这里我可以输入多行信息,这样当我点击提交按钮时。它出现在数据库中的不同行上,具有相同的供应商信息

所以,如果我填写表格,中间部分就有:

PO         | Units
111111        22
222222        33
333333        44
当我点击submit时,我希望它在单独的行中将其余的表单信息附加到每个PO上,这样就可以:

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

那么,我该如何完成这项任务呢?

从您对问题的描述以及数据最终如何存储在Access中的示例来看,在我看来,您将Access用作电子表格,而不是数据库。这是可以的,但是你可能想考虑数据的正常化,以充分利用数据库的力量。 例如:

  • 创建一个Vendors表,其唯一目的是保存与您一起工作的每个供应商的详细信息。一个非常基本的实现将有一个
    ID
    字段来唯一地标识每个供应商,并有一个
    Name
    字段来标识供应商名称
  • 如果供应商只有一个位置,那么您也可以将城市、州、ZipCode和电子邮件存储在同一个供应商表中,但我认为从长远来看,使用单独的VendorLocation或VendorAddress表更合适
  • 创建一个VendorShipment表,用于跟踪实体模型上的更高级别信息,例如:

    • ShipmentID(此表的主键)
    • VendorID(返回供应商表的外键)
    • 准备日期
    • 承运人
    • 估计成本
    • 货运舱
    • 追踪#
    • 估计过境时间
  • 最后,创建一个VendorShipmentDetail表,跟踪每个装运的信息,包括:

    • ShipmentDetailID(此表的主键)
    • ShipmentID(返回VendorShipment表的外键)
    • PO
    • 单位
    • 您想要或需要跟踪的任何其他详细信息
以规范化的方式组织和存储数据最终将有助于简化数据输入\数据管理过程,并可能带来更好的用户体验

例如,不必输入供应商名称、地址信息等。每次您都可以使用绑定到
供应商
表的组合框控件。如果表中存在供应商,则从列表中选择该供应商,并且您已经拥有地址信息,无需每次重新输入。如果该供应商不存在,请输入一次(可能在供应商屏幕上维护每个供应商的详细信息),并在将来利用该信息

然后,您将使用查询将信息重新绑定在一起以用于报告目的(对信息进行反规范化)

数据库设计的艺术可能需要一段时间才能开始,但一个好的起点可能是查看微软多年来维护的Northwind数据库。它提供了一些示例,您可以立即从中获得关于如何在Access中使用规范化的实际理解。您可以在此处找到更多信息: