Слишком мало параметров. Ожидаемый 1

У меня есть код VBA, который генерирует HTML-отчет на основе содержимого запроса. Дата запроса определяется по содержимому поля, используя следующие критерии.

 Forms![frmImport]![Flash] 

Когда я устанавливаю этот путь, он дает мне слишком много параметров. Если я задал критерии, чтобы сказать, 2/20/2013, он работает нормально. Я предполагаю, что это имеет какое-то отношение к тому, как VBA интерпретирует критерии запроса.

Ниже приведена часть моего кода, который, похоже, не нравится VBA.

Dim db As DAO.Database
Dim QUERY As DAO.Recordset

Set QUERY = db.OpenRecordset("qryFlash")

Я не уверен, есть ли что-то еще, что я должен добавить в строку «Установить», чтобы VBA мог играть с этим запросом.

0
nl ja de
Вы ссылались на библиотеку объектов Microsoft DAO?
добавлено автор Scotch, источник
WHERE (((qryMidDay1.Profile) Как «* ABCD») AND ((tblLibrary.Date) = [Forms]! [FrmImport]! [Flash])); Имя текстового поля является правильным, и я открывал форму каждый раз, когда я ее запускал.
добавлено автор user1706975, источник
В этом отношении все выглядит в порядке.
добавлено автор user1706975, источник
Да, все ссылки в порядке.
добавлено автор user1706975, источник
показать полный SQL-запрос или, по крайней мере, полное условие WHERE - у вас есть некоторая ошибка при обращении к текстовому поле формы внутри вашего запроса (возможно, имя «flash» - это не имя текстового поля, или форма закрывается при запуске запроса или?)
добавлено автор Dan Metheus, источник
Пока форма открыта, перейдите в редактор VBA, откройте ближайшее окно (если оно не открыто) и введите:? [Формы]! [FrmImport]! [Flash] Убедитесь, что он похож на дату. Если это так, убедитесь, что tblLibrary.Date на самом деле тип datetime.
добавлено автор Dan Metheus, источник

2 ответы

Пытаться

Dim qdf As DAO.QueryDef
Dim prm As DAO.Parameter
Dim rs As DAO.Recordset

Set qdf = CurrentDb.QueryDefs("qryFlash")
For Each prm In qdf.Parameters
    prm.Value = Eval(prm.Name)
Next prm
Set rs = qdf.OpenRecordset(dbOpenDynaset)
1
добавлено
Это не работает. Я использую несколько команд .RecordCounts и .MoveFirst в коде для правильной сборки отчета, и они, похоже, не очень хорошо работают с этой настройкой.
добавлено автор user1706975, источник
На самом деле я это сделал. Спасибо за помощь!
добавлено автор user1706975, источник
Вы не упомянули, в чем проблема. Пожалуйста, предоставьте как можно больше информации о том, что конкретно не работает так, как вы хотите. Обратите внимание, что вы всегда можете просто построить строку SQL вместо того, чтобы открывать набор записей из хранимого запроса, и в этом случае вы не будете иметь проблему с параметром. Также, если результирующий набор несколько невелик, и если вам не нужно его обновлять, лучше dbOpenSnapshot.
добавлено автор Dan Metheus, источник

Закончилось просто построение строки SQL вместо использования запроса. Решила мою проблему.

0
добавлено