尽管有链接MS-Access仍在与Order / Order-Detail子表单搏斗

时间:2019-06-24 15:02:13

标签: ms-access ms-access-2016 subform

您将获得的最原始:带有订单详细信息(即客户编号,交货地址等)的主表单,以及带有订单实际详细信息(产品代码,数量等)的子表单。到目前为止,如此通用,我真的很尴尬被卡住了。

现在,通过这种设置,我处于以下两种情况之一:

  • 获取重复的订单记录:创建第一个(当我打开表单时)并链接到客户ID没问题(使用rs.AddNew)。但是,当表单完成填充绑定字段时,它将在订单号控件中显示一个新的订单号(就刷新表格而言,尚未创建)。然后,当我使用子窗体添加订单详细信息时,它将创建指向该新订单号的链接,该订单号中没有客户编号。

  • 如果将.AddNew删除到form_load中的记录集中,最终我不会创建新的Order记录(并且订单号控件显示为“(New)”),但是当我开始添加订单详细信息时,然后我被告知我在订单明细条目中没有给出订单号。

我怀疑我完全困惑,在太多地方有太多查询/太多代码。

标准表设置:客户,订单,订单明细,产品。 如您所料,Order_Detail具有自动编号PK,但FK代表订单和产品。

我有一个主窗体,该主窗体具有一个查询,该查询返回应放在该窗体上的所有数据。暂时,大多数形式是未绑定的,因为我为此而苦苦挣扎。我可以很容易地更改它。

该子表单已设置了父/子链接,所以我很茫然。

我认识到我在做一些愚蠢的事情:当我执行.AddNew时,一切都很好。当我返回并用绑定值填充表单时,它将创建一个新订单。如果我不填充控件,则会得到(新),但都无效。

主窗体记录源:

SELECT Orders.ID, Orders.Customer_Id, Orders.Display_Order_Id, Orders.Date_Ordered, Orders.Notes, Orders.Deliver_Date, Orders.Delivery_Address, Orders.Web_Order_Id, Orders.Order_Cost, Orders.Discount_Amount, Orders.Delivery_Title, Orders.Delivery_First_Name, Orders.Delivery_Surname, Orders.Billing_Address, Orders.EmplID, Orders.SpecificDelivery, Orders.CallRequired FROM Orders; 

(如果我删除了它,它将在表单启动时要求提供ID,所以...)

主数据:ID(来自“订单”表) 子级:Order_ID(来自Order_Detail表)

Sfrm查询(我已将其简化为尽可能简单-本质上是从order_detail中选择*)

SELECT Order_Detail.ID, Order_Detail.Order_Id, Order_Detail.Product_Id, Order_Detail.UnitPrice, Order_Detail.Quantity, Order_Detail.Discount, Order_Detail.Last_Updt_Tstamp, Order_Detail.UserID
FROM Order_Detail;

我想做的就是为客户编号创建一个新订单,该订单可能会使其没有订单明细,但是当它确实有订单明细时,就不会抛出错误。

0 个答案:

没有答案