Ms access MS Access创建新订单和订单行
我有一个Ms access MS Access创建新订单和订单行,ms-access,autonumber,Ms Access,Autonumber,我有一个客户表、一个订单表、一个订单行表和一个产品表。它们都有一个Autonumber字段作为主键,Orderline在Order表上有一个对Order ID的外键引用: ORDER ----- Order ID - Autonumber Customer ID - Number ... ORDERLINE --------- OrderLine ID - Autonumber Order ID - FK to Order Product ID - FK to Product
客户
表、一个订单
表、一个订单行
表和一个产品
表。它们都有一个Autonumber
字段作为主键,Orderline
在Order
表上有一个对Order ID
的外键引用:
ORDER
-----
Order ID - Autonumber
Customer ID - Number
...
ORDERLINE
---------
OrderLine ID - Autonumber
Order ID - FK to Order
Product ID - FK to Product
Quantity
PRODUCT
-------
Product ID - Autonumber
Product details...
我有一个表格,可以在其中选择客户,然后是订单行
表中的记录列表,以及我从这个子表格中引用的查询,该子表格列出了订单ID
,订单行ID
,产品ID
,产品详细信息
我有两个问题
产品ID
时,我希望出现一个新的订单ID
(自动递增)和一个新的订单行ID,(自动递增)以及我所选产品的详细信息,对应于我输入的产品ID`,但是,我得到了以下错误消息:
订单ID
和订单行ID
时,似乎失败了
我应该说,我花了好几天时间在这上面,搜索了无数搜索引擎,观看了YouTube上关于创建订单的一系列视频,但都没有用。我相信任何了解Access的人都可以帮助我,因为如果这是SQL中的问题,我可以在几分钟内帮助类似情况下的任何人。创建子表单时,必须指定父表单和子表单之间的关系。与您为表创建的关系相同。然后只有Access会为您筛选记录 关于你的问题。您应该在[order]表中创建一个新的[order]记录,您将在其中输入/选择[customer\u id、staff\u id、order details等] 一个订单可以有多个项目,因此您的[order_items]表(我假设orderline是您用于此表的术语)存在
- 订单号
- 产品标识(订单标识、产品标识复合密钥)
- 数量
- 价格
- 等等
- 选择子窗体
- 转到属性页
- 选择链接主字段:订单\u id
- 选择链接子字段:订单\u id
select product_id, product_name from tbl_product
将出现此错误消息:
'您请求对表进行的更改未成功,因为它们将在索引、主键或关系中创建重复的值。更改字段中的数据或包含重复数据的字段,删除索引,或重新定义索引以允许重复条目,然后重试'
当您尝试为同一订单添加两次产品时。相反,你应该增加产品的数量
试试这个,让我们知道它是如何进行的。\1听起来您的查询有问题#2-自动增量ID仅在向ID所属的表中添加记录时有效。您不能向Orders表中添加记录,而输入一个不存在的ProductID,并希望它将ProductID记录添加到Product表中。您的orderline表是什么?你能展示你的db设计吗?谢谢你发明-动画,我会看看我的查询。关于#2-我没有添加产品,只是同时添加了一个订单和一个订单行,该产品已经存在@krish,虽然我不能发布图片,但我会更新我的问题谢谢你krish的帮助,我现在就试试krish,我有更多的信息,当我在我的订单行查询中添加新行时,(包含订单、订单行和产品)它不会在订单或订单行上生成新ID,我收到的错误是因为它正在尝试创建具有相同ID的新产品记录!我不想这样,我想将现有产品添加到新订单中。我如何告诉它不要创建新产品,而是创建新订单添加所选产品?正如我所说的那样,成功了我不熟悉这一点,我没有意识到在查询中从何处提取数据很重要。现在我意识到了这一点,我从Orderline表中提取产品ID,它不再试图将其创建为新产品。