将记录添加到表中并同时将记录添加到使用它作为参考的表中

时间:2015-01-01 18:47:48

标签: sql forms ms-access-2013

我们说我有一个事件表:tblEvents,以及一个包含人物的表:tblParticipants。很多人都可以参加活动,所以我们在这里有一对多的关系,存储在一个表格中tblEvents_Participants,其中包含以下记录:Event_ID,Participant_ID

我想创建一个数据输入表单,在第一部分中包含有关事件输入的字段,在第二部分中,创建一个使用tblParticipants作为源的连续子表单,我可以添加人员。最后,我希望当我点击cmdAddRecord按钮时,会发生以下情况:

  1. 根据第1部分的输入,将事件记录添加到tblEvents,让我们说:Event_ID = X
  2. 在联结表tblEvents_Participants中,根据子表单中选择的记录添加记录:"X, participant1_ID", "X,participant2_ID"...
  3. 我遇到的问题是,这样的事情应该要求一个接一个地执行2个查询:一个用于添加事件记录,另一个用于将记录添加到联结表,因为事件'我的身份证不存在 在添加到tblEvents之前在联结表中使用,我还没有找到办法做到这一点,至少不使用VB代码一个接一个地执行查询,这非常笨拙和困难使用。

    编辑:根据要求,我会发布数据。我在帖子中使用了假名,使其尽可能简洁,所以我会尝试保持数据相同:

    Comboxbox Row来源:

    SELECT tblParticipants.ID, tblParticipants.[FirstName], tblParticipants[LastName] FROM tblParticipants

    Bound Column: 1
    Column Count: 3
    Column Width: 0,3,3
    

    表格如何在表格中查看(正如我所说,我在帖子中使用了假名,因此字段名称有点不同: (每个员工都有很多工作,所以员工==事件,工作==参与者,ID指的是联合表ID,它是无关的)。

    1

    当我在另一个标签中打开子表单时,整个表格会显示。

    PS:在添加作者之前,您的其他帖子中的书籍记录(ID = 1,Title = Help)是否已经存在?

1 个答案:

答案 0 :(得分:0)

我猜你是自己回答的;您需要两个查询,因为您需要从第一个查询返回的event_id