Arrays 从访问表vba创建数组

Arrays 从访问表vba创建数组,arrays,vba,excel,loops,Arrays,Vba,Excel,Loops,我试图从access中的表格中提取姓名和电子邮件地址列表,并使用这些信息发送个性化电子邮件。所以我尝试从access调用2列到一个数组中,然后使用循环遍历每一行。我认为这将是最好的方法,但我对其他想法持开放态度。我已经能够生成代码,生成一封包含第一条记录的电子邮件,但我不知道如何获取其余记录: Private Sub SMT() Application.Run "VariablesForRanges" strDB1 = ThisWorkbook.Path & "\database.acc

我试图从access中的表格中提取姓名和电子邮件地址列表,并使用这些信息发送个性化电子邮件。所以我尝试从access调用2列到一个数组中,然后使用循环遍历每一行。我认为这将是最好的方法,但我对其他想法持开放态度。我已经能够生成代码,生成一封包含第一条记录的电子邮件,但我不知道如何获取其余记录:

Private Sub SMT()
Application.Run "VariablesForRanges"
strDB1 = ThisWorkbook.Path & "\database.accdb"
strqry1 = "SELECT table1.name, table2.Email"
strqry1 = strqry1 & " FROM table2 inner join table1 on table1.FULL_NAME=table2.Name"
strqry1 = strqry1 & " group by table1.name, table2.Email;"

Set cn1 = New ADODB.Connection
cn1.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strDB1 & ";"
Set rs1 = New ADODB.Recordset

With rs1
    Set .ActiveConnection = cn1   
    .Open strqry1
End With

If rs1.BOF = True Then
    MsgBox "There Are No Records To Import", vbInformation
         Else
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

strbody = "Hi " & rs1("name") & "," & vbNewLine & vbNewLine & _
"test" & vbNewLine & vbNewLine & _
"Best regards," & vbNewLine & _

On Error Resume Next
    With OutMail
    .To = rs1("Email")    
End With

On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
End If
End Sub

如有任何关于创建数组和循环的帮助,将不胜感激。谢谢

为什么不在记录集中循环

Do While Not rs1.EOF
' create emails
    rs1.MoveNext
Loop

为什么不在记录集中循环

Do While Not rs1.EOF
' create emails
    rs1.MoveNext
Loop