Добавить запрос в VBA для доступа Microsoft без параметров WHERE - PullRequest
1 голос
/ 19 марта 2020

У меня есть эта функция:

    Dim db As DAO.Database
    Dim strInsert As String

Set db = CurrentDb

strInsert = "INSERT INTO items_affected_Table(CR_Id, VerOld, Equipment_Serial, Document_No, Description, Version) SELECT Items_affected_Table.CR_Id, Items_affected_Table.Version, Items_affected_Table.Equipment_Serial, Items_affected_Table.Document_No, Items_affected_Table.Description, Items_affected_Table.VerNext FROM Items_affected_Table WHERE (((Items_affected_Table.CR_Id)=[Forms]![CR form-unapproved]![CR_ID]) AND ((Items_affected_Table.Version)=[Forms]![CR form-unapproved]![Version]))"

db.Execute strInsert, dbFailOnError

Выдает ошибку "слишком мало параметров. Ожидается 2"

Если я изменяю ссылки на форму на фактические числа, запрос на добавление работает:

    strInsert = "INSERT INTO items_affected_Table(CR_Id, VerOld, Equipment_Serial, Document_No, Description, Version) SELECT Items_affected_Table.CR_Id, Items_affected_Table.Version, Items_affected_Table.Equipment_Serial, Items_affected_Table.Document_No, Items_affected_Table.Description, Items_affected_Table.VerNext FROM Items_affected_Table WHERE (((Items_affected_Table.CR_Id)=8) AND ((Items_affected_Table.Version)=0))"

Чего мне не хватает?

Спасибо

1 Ответ

0 голосов
/ 19 марта 2020

Объединенные ссылки на переменные:

strInsert = "INSERT INTO items_affected_Table(CR_Id, VerOld, Equipment_Serial, Document_No, Description, Version) " & _
             "SELECT CR_Id, Version, Equipment_Serial, Document_No, Description, VerNext " & _
             "FROM Items_affected_Table " & _
             "WHERE CR_Id=" & [Forms]![CR form-unapproved]![CR_ID] & " AND Version=" & [Forms]![CR form-unapproved]![Version]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...