MS Access SQL将数据插入到具有关系的表中

时间:2013-07-19 16:34:17

标签: sql ms-access ms-access-2010

我一直在寻找解决这个问题的方法,我得出结论,我可能会问错误的问题。我希望有人能回答这个问题,或者告诉我正确的问题。

我有两张表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”类型的插入?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您定义了外出密钥,并创建了View,例如V_TakeOffSheet你可以为每个SQL追加记录,如

Insert into V_TakeOffSheet (Sheet_Name,[Number],Estimate_Name) values ('Sheet1',1,'Est1');

Access会将Estimate_ID设置为NumberEstimate_Name中的记录,如果此记录不存在则会创建,并且新的Estimate_ID将用于TakeoffSheet。