如何从select语句中获取值到VBA中的变量

时间:2018-01-09 18:16:18

标签: sql vba access-vba recordset

我只想将来自select语句的结果存储到一个变量中,我可以使用该变量在VBA中显示消息。这是我正在尝试的代码..

While src.Peek() <> -1
    cadena = src.ReadLine()
    intermitja = Split(cadena, "/")
    ComboBox1.Items.Add(intermitja(1))
    ' I tried this...
    ' ComboBox1.Items(ComboBox1.Items.Count).value = (intermitja(0))
End While

我想要的是,我希望来自select语句的结果应该显示在msgbox中。如果你们有解决方案。请帮助我。

2 个答案:

答案 0 :(得分:3)

result = rst!result

这个符号是这个神奇的简写:

result = rst.Fields("result").Value

您的查询没有任何result字段。因此,您要么将查询更改为别名Key_Oldresult

strSQL = "SELECT Key_Old As result FROM Pivot_Old where Pivot_Old.Count = " & 1 & ""

或者,您改变了对该字段的引用方式:

result = rst.Fields("Key_Old").Value

经验法则,更喜欢显式代码而不是神奇的速记符号=)

答案 1 :(得分:0)

你也可以这样做:

strSQL = "SELECT Key_Old FROM Pivot_Old where Pivot_Old.Count = " & 1 & ""

Set rst = CurrentDb.OpenRecordset(strSQL)

result = rst(0).Value
rst.Close

MsgBox ("String is " & result)

或保持简单:

result = Nz(DLookup("Key_Old", "Pivot_Old", "[Count] = " & 1 & ""))
MsgBox "String is " & result