Вставка в несколько таблиц одновременно на основе значения, которое вы сначала вставляете в одну таблицу - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь создать строку в нескольких таблицах одновременно.Проблема, с которой я сталкиваюсь, заключается в том, что всем таблицам, кроме первой таблицы, нужен автоматический номер / первичный ключ из первого оператора 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 обычно будет полем идентификатора первой таблицы, в которую я вставил данные.

1 Ответ

0 голосов
/ 28 декабря 2018
DoCmd.RunSQL "INSERT INTO tblRegSR (WorkOrderID, CustomerID) VALUES (Me!txtID.Value, Me!Customer.Value)"

Предполагая, что у вас есть поле с именем ID в tblRegSR в качестве AutoNumber, вы должны вставить его во 2-ю таблицу следующим образом:

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