上下文:我正在Microsoft Access数据库中编写Google Maps API,该数据库将表格中的邮政编码作为HTTP GET请求的一部分发送给Google。为了提高我的请求效率,我一次尝试将10个邮政编码一起批量发送给Google。我选择了10,因为Google在其GET API请求中有2000
字符限制。
考试问题:使用DAO recordsets
,我如何遍历我的Postcodes
表,一次循环10条记录并将这10条记录添加到数组中,直到我到达表的结尾?所以从本质上讲,从表中获取10条记录,将它们添加到数组中,然后清除数组,然后获取接下来的10条记录并将它们添加到数组中,然后清除数组......直到我到达表的末尾
到目前为止我的基本代码是:
Public Function CalcGeoData()
Dim rs As DAO.Recordset
Dim Postcodes(0 To 10) As String
' Begin to loop through the Postcodes in I_Postcodes and update for distance and time from base
Set rs = CurrentDb.OpenRecordset("Postcodes")
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
Debug.Print (rs!Postcode)
Debug.Print "-----------"
rs.Move 10
Loop
End If
rs.Close
Set rs = Nothing
End Function
答案 0 :(得分:0)
在你的循环中:
将其翻译成代码留作练习。
注意:您可能需要考虑使用VBA Collection
而不是使用有效Add method的数组。
答案 1 :(得分:0)
使用return
方法:Moving through the Recordset in Access VBA
将它放在一个循环中,在每个循环中拉出10条记录(不是GetRows
,如图所示)直到没有更多记录。