2

我一直在到处寻找解决这个问题的方法,我得出的结论是我可能问错了问题。我希望这里有人可以回答这个问题或告诉我要问的正确问题。

我有两张表 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 中插入一个新行,其中包含来自 Estimates 的 Estimate_ID。至少不在一条 SQL 语句中。

我知道我可以通过多个步骤来完成(首先获取 Estimate_ID,然后添加一个新工作表),但如果可能的话,我宁愿在一个语句中完成。MS Access 中是否有“加入”类型的插入?

谢谢你的帮助!

4

1 回答 1

1

如果您定义了外键,并创建了一个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 中使用。

于 2013-07-19T16:58:15.873 回答