Как извлечь значения из запроса в VBA и назначить их в качестве переменных в Access 2016 - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь извлечь значения из существующего запроса и назначить ему переменную с помощью VBA (Access 2016), чтобы иметь возможность использовать его в дальнейшем коде.

И я полностью застрял на этом шаге, очень простом, но я новичок в VBA. У меня есть запрос, который в SQL выглядит так:

SELECT Max(CatalogConditions.DefConditionID) AS MaxDefConditionID, Max(ImplantCondition.InteractionID) AS MaxImplantCondition_InterationID, Max(Results_Epilepsy_BSL.ResultEpilepsyBSL_ID) AS MaxBSLresultsID, Max(Results_Epilepsy_Post.ResultEpilepsyPost_ID) AS MaxPOSTresultsID
FROM ((CatalogConditions INNER JOIN ImplantCondition ON CatalogConditions.DefConditionID = ImplantCondition.DefConditionID) INNER JOIN Results_Epilepsy_BSL ON ImplantCondition.InteractionID = Results_Epilepsy_BSL.InteractionID) INNER JOIN Results_Epilepsy_Post ON ImplantCondition.InteractionID = Results_Epilepsy_Post.InteractionID;

Итак, я хотел бы назначить все эти идентификаторы Max ... для переменных в моем коде, которые я собираюсь использовать позже.

Если бы кто-нибудь мог мне помочь, было бы здорово. Thx

1 Ответ

0 голосов
/ 23 мая 2019

Вы открываете набор записей, а затем читаете значения из его полей.

Dim rst As DAO.Recordset
Dim DefConditionID As Long
Dim InteractionID As Long
' ...

Set rst = CurrentDb.OpenRecordset("myQuery")
' Read values into variables
DefConditionID = rst!MaxDefConditionID
InteractionID = rst!MaxImplantCondition_InterationID
' ...
rst.Close

Обратите внимание, что при этом считываются значения из первой записи запроса, поэтому предполагается, что запрос возвращает только одну запись.

Чтобы прочитать одно значение из запроса или таблицы, вы также можете использовать функцию DLookup .

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