繁体   English   中英

如何设置 MS Access 表单以在表中创建新行并将一个字段设置为默认值?

[英]How do I set up a MS Access form to create a new row in table and set one field as a default value?

所以我不肯定我什至在问正确的问题,但它就在这里。 我目前有一个 MS Access 表格,以便有人可以输入新的工作订单。 您可以设置公司、所需的零件号、数量,并且工作订单号是我用于主键的自动生成的值。 所有这些都很好,并成功地在“工作订单”表中添加了一个新行。 但是,当使用此表单创建新的工单时,我希望将“工单”表中的最后一个字段(称为“状态”)设置为“未开始”。

我成功地进行了更新查询,要求输入工单号,并将“状态”字段设置为“未开始”。 这是代码:

UPDATE 03A_WorkOrderList 
SET 03A_WorkOrderList.Status = "Not Started"
WHERE ((([03A_WorkOrderList].WO_Num)=[WO_Num:]));

如果您提供更新查询工单编号,一切正常,“状态”字段会更新。

所以回到表单,我决定将更新查询附加到构建事件中,在创建新行之后发生更新。 这似乎也有效,只是它要求输入工单号。 我完全理解为什么,因为它是更新查询中的代码: WHERE ((([03A_WorkOrderList].WO_Num)=[WO_Num:]));

我不知道如何让它提取自动生成的工作订单号并将其用于更新查询。

如果我对这一切都错了,请告诉我。 TIA。

在 Ms Access 中,以设计模式打开您的[Work order]表。 Select Status字段,在下面的property部分中,您可以将Default value设置为Not started 这样您就不需要执行更新,所有新订单将自动处于Not started状态。

或在您的添加订单表格中, On before update ,您可以设置status = 'Not started'

我能够通过以下 UPDATE Query 获得我正在寻找的功能:

UPDATE 03A_WorkOrderList SET 03A_WorkOrderList.Status = "Not Started"
WHERE [03A_WorkOrderList].WO_Num=(SELECT MAX(WO_Num) FROM 03A_WorkOrderList);

由于 WO_Num 是自动生成的,我想编辑我正在处理的那个,我可以只查找 MAX(WO_Num)。 然后,我将此 UPDATE 查询与订单表单的构建事件分开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM