Сквозной запрос означает, что он выполняется на стороне сервера. Этот сервер больше не может go проверять доступ и получать данные, а затем go и пытаться украсть все ваши электронные письма или финансовые данные на вашем компьютере.
простое решение - «обработать» или «оценить» "выражение ДО того, как вы отправите его на sql сервер. Вы можете использовать следующее:
Dim strSQL As String
strSQL = "SELECT * From mrch.Promo_Request_Base " & _
"WHERE mrch.Promo_Request_Base.Requestor_Name = '" & _
[Forms]![f_PromoRequest_VIEW_Header_001a]![Combo133] & "'"
With CurrentDb.QueryDefs("qryPass")
.SQL = strSQL
End With
' now code here to open form, or say launch report
DoCmd.OpenReport "rptPromoList", acViewPreview
Обратите внимание, что вы должны убедиться, что sql правильно отформатирован для серверной стороны.
Итак, я предполагаю, что Requestor_Name имеет значение текстовый тип поля. Итак, это означает, что вы должны поместить кавычки (я использовал одиночные) вокруг выражения. Если тот столбец, который вы получаете из поля со списком, является числом, тогда кавычки не обязательны, и вы должны использовать это:
strSQL = "SELECT * From mrch.Promo_Request_Base " & _
"WHERE mrch.Promo_Request_Base.Requestor_Name = " & _
[Forms]![f_PromoRequest_VIEW_Header_001a]![Combo133]
Таким образом, другой код будет таким же - единственное изменение выше было как я пропустил добавление кавычек (') вокруг выражения.