我正在尝试从现有查询中检索值,并使用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 ... ID分配给代码中的变量,稍后将使用。
如果有人可以帮助我,那就太好了。谢谢
答案 0 :(得分:0)
您打开一个记录集,然后从其字段中读取值。
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
function。