使用基于1表的Access 2010表单在链接表中输入数据

时间:2017-07-06 16:45:34

标签: ms-access

首先,我是NOOB!我正在尝试创建一个Access DB来处理整个流程中的订单。因此,我基于每个单独的流程创建了表。仅包含基本信息的订单数据位于tblCurrentOrders中。其他每个进程都通过OrderNumber字段链接到tblCurrentOrders。该过程的第一步是在tblPlanner表中输入到期日期信息。显然,在tblPlanner中输入数据之前,不存在OrderNumber(对于其他表也是如此,如果我得到那么远的话)。

我想创建一个基于表单的tblCurrentOrders,它只显示tblPlanner(新订单)中没有相应条目的记录,然后我希望能够在子表单中输入tblPlanner信息。我已经尝试使用基于tblPlanner的子表单创建基于tblCurrentOrders的表单,但我无法弄清楚如何只显示新订单。我也尝试将表单基于仅显示新订单的查询,但我不知道如何使基于tblPlanner的子表单工作。

请帮助!!

1 个答案:

答案 0 :(得分:0)

嗯,链接表的最简单方法是在开始新订单时在tblPlanner中创建OrderNumber。然后添加一个标志和时间戳,以确定它是否已发布"爱好。

修改

由于您提供了更多详细信息,因此我会编辑我的回复,以便更贴近您所需的方法。

创建"新订单"是一个多步骤的过程。因此,通常最好在调用VBA代码的表单上创建一个命令按钮。这将允许您控制每个步骤并确保它是正确的。

第一步:首先你要:

1)创建一个控制表单(如果你还没有),它允许你放置命令按钮,它将启动不同的VBA代码或打开不同的显示表单。

2)在控制表单上,创建一个列表框,允许您选择现有的OrderNumber。

3)在控制表单上,创建一个命令按钮以打开使用所选列表框OrderNumber的订单表单。当订单表单打开时,它将填充该OrderNumber的tblCurrentOrders数据,并使用tblPlanner数据填充子表单。 (只要你把它们正确联系起来。)

4)在控制表单上,创建一个命令按钮以打开订单表单,其中包含一组记录,这些记录是"新订单"只要。请参阅下面步骤C中更详细的流程。

5)在控制表单上,创建一个命令按钮以启动VBA代码,该代码将创建一个"新订单"。这是下面在步骤B中详述的多步骤过程。

6)创建任何其他按钮或控件,以便您监控或推进您的订单"一路走来完成。 (这是完成所有工作的大量工作。)

步骤B:当您按下命令按钮以创建"新订单"您想创建以下的VBA代码:

1)在tblCurrentOrders表中创建一个新记录。

2)在新记录上创建唯一的OrderNumber。如果您控制这个数字的生成并且不要让它成为系统生成的序列号,通常最好。但只要它是独一无二的,无论你想要什么都可以。

3)在新的tblCurrentOrders记录上将ReleasedFlag设置为false。

4)确保您的ReleasedTimeStamp为空。 (或者你想要的任何价值。)

5)您可能需要一个CreatedTimeStamp,您可以使用Now()的日期填充。

6)填充任何其他"初始化"需要填写的字段。 (如Backorder状态,返回标志,Shorted Flags等等)

7)在tblPlanner表中创建一条新记录。

8)将您为tblCurrentOrders记录创建的唯一OrderNumber复制到新tblPlanner记录的OrderNumber字段中。这将创建一个链接供您使用子查询和子表单。

9)现在您可以使用此新OrderNumber打开订单表单。

步骤C:当您按下命令按钮打开一组记录时,这些记录是"新订单"仅

命令按钮需要启动查询以查找" ... tblCurrentOrders,它们仅显示tblPlanner(新订单)中没有对应条目的记录& #34 ;: 您只需选择将ReleasedFlag设置为false的tblCurrentOrders。

`SELECT * FROM tblCurrentOrders WHERE ReleasedFlag = false`

所以当你说:" ... 然后我希望能够在子表单中输入tblPlanner信息" ...你可以创建一个子表单链接to tblPlanner基于tblCurrentOrders OrderNumber字段。

这完全依赖于你观察当你说" ...记录没有 tblPlanner中的相应条目...... "你的意思是:在tblPlanner中记录没有 发布的条目。这意味着:为了在tblCurrentOrders中存在记录,它必须在tblPlanner中创建相应的空白(或启动)记录。因此,现在您可以显示链接到未发布的tblCurrentOrders记录的空白tblPlanner记录。

然后,一旦您的数据输入人员完成了对新订单的修改,他们就可以"发布"订单(通常通过单击发布命令按钮)。此时,您可以将ReleasedTimeStamp设置为Now()并在tblCurrentOrders中将ReleasedFlag设置为True。它正式不再是一个新订单"现在是您系统中的实时订单。

您正处于创建本土订单输入系统的冰山一角。建立一个好的复杂性是巨大的。祝你好运。请记住使用时间戳和ID字段,以便您可以返回并取消可能意外完成的操作。

希望这一切都有帮助。 :)