Значение даты формы не может передать его в VBA - PullRequest
0 голосов
/ 04 августа 2020

У меня есть запрос под названием «RosterQ C», который фильтрует результаты на основе текстового объекта «Text35» в форме «Качество»:

  SELECT Record No
  FROM TableX
  WHERE Date = [Forms]![Quality]![Text35]

Выполнение самого запроса - нормально, но когда я пытаюсь запустить его на VBA. Это дает мне ошибку 3061 - слишком мало параметров ожидается 1. Мой код VBA, как показано ниже,

Sub Duplicate()
DoCmd.RunSQL "Delete * from old_table"
CurrentDb.Execute "Insert Into old_table Select RosterQC.* From RosterQC"
DoCmd.OpenReport "RosterQC_Report", View:=acViewPreview
End Sub

Признайте, если кто-то поможет мне, предоставив мне некоторые идеи или решения? Спасибо.

1 Ответ

1 голос
/ 04 августа 2020

Вы должны передать параметр в запрос перед его запуском, но в этом случае может быть проще переписать задачу:

Sub Duplicate()

    Dim Sql As String

    Sql = "Delete * from old_table"
    CurrentDb.Execute Sql
    Sql = "Insert Into old_table Select [Record No] From TableX Where [Date] = #" & Format([Forms]![Quality]![Text35], "yyyy\/mm\/dd") & "#"
    CurrentDb.Execute Sql

    DoCmd.OpenReport "RosterQC_Report", View:=acViewPreview
    
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...