索引Access VBA中的RecordSet以查找值

时间:2017-02-07 16:41:20

标签: vba ms-access access-vba

    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset(addrPullQry)
    rst.Index = '''''''
    If rst.RecordCount > 0 Then
        MsgBox ("More than zero") 'Prompt with address info
    Else
        MsgBox ("Not more than zero") ' Assign Primary to address
    End If

addrPullQry选择地址表中的所有记录,其地址类型为Primary(Secondary是另一个选项),其中存在我在查询中指定的Record_ID和Group_ID。

我正在为用户提供一个On_Click()事件,该事件将在某个组下的客户下分配一个地址类型的地址。如果该客户已存在主要地址类型,我需要提示用户覆盖它。我需要能够在提示符中找到Street,City,State等地址值。这些值存储在查询中,我只是不知道如何引用它们并将它们存储在变量中。

我假设rst.Index会完成此操作,但我不熟悉它,MSDN页面也没有用。

1 个答案:

答案 0 :(得分:2)

如果我了解您之后的内容,您希望使用您创建的记录集来返回用于提示用户的地址信息。如果这就是您所需要的,那么:

Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim sStreet$, sCity$, sState$
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(addrPullQry)

If rst.RecordCount > 0 Then
    sStreet=rst!Street
    sCity=rst!City
    sState=rst!State
    msgbox "Customer Address: " & vbcrlf & _
        sStreet & vbcrlf & sCity & ", " & sState

Else
    MsgBox "No address on file..."
End If

只需将街道/城市/州替换为您的查询中的实际字段名称' addrPullQry'