Как я могу сослаться на Сохраненные Запросы в Access VBA? - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь проверить записи в сохраненном запросе, чтобы определить, должен ли VBA отключить определенные элементы управления формой:

Dim SavedQry
SavedQry = Queries!qryCurrentItems 'or Queries("qryCurrentItems")

Не будет компилироваться, потому что хочет, чтобы я определил переменную "Запросы".

Вы можете делать такие вещи с Forms!FormName!ControlName, чтобы ссылаться на данные в элементе управления, так почему бы не так?


Для ясности;у рассматриваемого запроса есть "параметры", заполненные формой.Код ниже.

SELECT tblColour.Colour AS Colour
FROM tblColour 
INNER JOIN (tblGenCol 
INNER JOIN tblAutCol ON tblAutCol.Colour = tblGenCol.Colour) 
ON tblGenCol.Colour = tblColour.ID
WHERE tblGenCol.Genre = Forms!frmColourChoice!cmbGenre
AND tblAutCol.Author = Forms!frmColourChoice!cmbAuthor;

Параметры: формы! FrmColourChoice! CmbGenre и формы! FrmColourChoice! CmbAuthor.

1 Ответ

0 голосов
/ 01 июня 2018

Используйте один или два объекта:

Dim SavedQry As DAO.QueryDef
Dim rs As DAO.Recordset

Set SavedQry = CurrentDb.QueryDefs("qryCurrentItems")
SavedQry.Parameter("ParameterName1").Value = SomeValue
SavedQry.Parameter("ParameterName2").Value = AnotherValue
Set rs = SavedQry.OpenRecordset()
' Investigate records.
...