根据您首先插入一个表中的值一次插入多个表中

时间:2018-12-28 13:10:34

标签: sql database vba ms-access insert

我试图一次在多个表中创建一行。我遇到的问题是所有表,除了第一个表需要第一个INSERT语句的自动编号/主键。我不完全确定要在第一个表之外输入哪些值。非常感谢您的帮助!

这是我正在使用的代码:

Private Sub cmdCreate_Click()

    If DCount("*", "[tblRegSR]", "[WorkOrderID] = " & Me![txtID]) > 0 Then
        MsgBox "This record already exists", vbOKOnly + vbExclamation, "Duplicate Record"
    Else
        DoCmd.RunSQL "INSERT INTO tblRegSR (WorkOrderID, CustomerID) VALUES (Me!txtID.Value, Me!Customer.Value)"
        DoCmd.RunSQL "INSERT INTO tbFirstSR (ServiceRecordID) VALUES (WhatGoesHere)"

    End If
End Sub

WhatGoesHere通常是我向其中插入数据的第一个表的ID字段。

1 个答案:

答案 0 :(得分:0)

DoCmd.RunSQL "INSERT INTO tblRegSR (WorkOrderID, CustomerID) VALUES (Me!txtID.Value, Me!Customer.Value)"

假设您在tblRegSR中有一个名为ID的字段作为AutoNumber,您可以将其插入第二张表,如下所示:

DoCmd.RunSQL "Insert into tblFirstSR (ServiceRecordID) Select Max(ID) from tblRegSR "