将SQL查询的结果保存到VBA中的变量中?

时间:2015-12-02 13:24:45

标签: vba ms-access access-vba ms-access-2010 ms-access-2007

我正在尝试将查询结果分配给变量。我有一个查询(让我们称之为“Query1”),它将检查各种标准。我尝试了如下。

mvim .

我需要帮助来完成上面的代码,以便我的变量将获得查询返回的值。请注意,我的Query1将返回Null值或单个记录。

2 个答案:

答案 0 :(得分:3)

我不明白为什么你需要一个记录集。您可以使用substType-ren来获取DLookup返回的值。

Query1

我将Dim Variable1 As Variant Variable1 = DLookup("[column name here]", "Query1") 用于Variant,以便它可以接受Null。如果您希望将其保留为Variable1,则可以使用String作为Andre演示将Null转换为字符串。

答案 1 :(得分:2)

如果您的查询只返回一个列,并且只返回零个或一个记录,则可以使用rst(0)获取第一个字段(Fields集合从零开始)。

If rst.EOF Then
    ' covers "no records returned"
    Variable1 = ""
Else
    ' Nz() covers "NULL returned"
    Variable1 = Nz(rst(0), "")
End If

但是使用查询中的字段名称更具可读性。

Variable1 = Nz(rst!myField, "")

您可能还想查看DLookup()函数,该函数旨在返回单个值。