【问题标题】:(VBA) For loop and DLookup (MS ACCESS)(VBA) For 循环和 DLookup (MS ACCESS)
【发布时间】:2017-12-24 15:06:34
【问题描述】:

我有一个名为 TimeQuery 的查询。我希望 MsgBox 将显示所有 [start_hour] 值,其中 [id]=1 然后 2 等等。... 我有个问题。我什么时候用:

a = DLookup("Hour([start_hour])", "TimeQuery", "[id]=1")

效果很好,但使用 [id]=counter 时却不显示。在 For 循环之后我也有一个 MsgBox,当 [id]=counter 它也没有显示那个 MsgBox。怎么了?

For counter = 1 To 3
Dim a As Variant
a = DLookup("Hour([start_hour])", "TimeQuery", "[id]=counter")
MsgBox (counter)
Next
Debug.Print ("")

【问题讨论】:

    标签: database vba ms-access msgbox


    【解决方案1】:

    如果你想使用它,你需要将你的变量连接到一个字符串,像这样:

    For counter = 1 To 3
        Dim a As Variant
    
        a = DLookup("Hour([start_hour])", "TimeQuery", "[id]=" & counter)
        MsgBox (counter)
    
    Next
    
    Debug.Print ("")
    

    但是,如果您想正确执行此操作,请使用记录集

    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset ("SELECT Hour([start_hour]) As hr FROM TimeQuery WHERE [id] <=3 ORDER BY ID ASC")
    Do While Not rs.EOF
       MsgBox rs!hr
       rs.MoveNext
    Loop
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-28
      • 2017-01-16
      • 2014-04-04
      • 2016-01-24
      • 2014-11-30
      • 2018-09-04
      • 1970-01-01
      相关资源
      最近更新 更多