我一直在寻找解决这个问题的方法,我得出结论,我可能会问错误的问题。我希望有人能回答这个问题,或者告诉我正确的问题。
我有两张表Estimates和TakeoffSheet:
+----------------------+ +----------------------+
| Estimates | | TakeoffSheet |
+----------------------+ +----------------------+
| 1. Estimate_ID = PK | | 1. Sheet_ID = PK |
| 2. Number | | 2. Estimate_ID = FK |
| 3. Estimate_Name | | 3. Sheet_Name |
+----------------------+ +----------------------+
我想在Takeoffsheet中插入一个新行,其中Estimate.Number = Something。基本上,在TakeoffSheet和Estimates之间定义了一种关系,但是我不知道如何在Takeoffsheet中插入一个新行,其中Estimate_ID来自Estimates。至少不在一个SQL语句中。
我知道我可以通过多个步骤完成它(首先获取Estimate_ID,然后添加一个新的表单),但如果可能的话,我宁愿在单个语句中执行此操作。 MS Access中是否存在“join”类型的插入?
感谢您的帮助!
答案 0 :(得分:0)
如果您定义了外出密钥,并创建了View
,例如V_TakeOffSheet你可以为每个SQL追加记录,如
Insert into V_TakeOffSheet (Sheet_Name,[Number],Estimate_Name) values ('Sheet1',1,'Est1');
Access会将Estimate_ID设置为Number
和Estimate_Name
中的记录,如果此记录不存在则会创建,并且新的Estimate_ID将用于TakeoffSheet。