I'm using the VBA-Web Library to process incoming JSON calls in VBA:
https://github.com/VBA-tools/VBA-Web
Here is a sample small response (1 page only):
You can see at the bottom there's a "TotalPages" returned. Following is my VBA code:
Set Response = Client.Execute(Request)
RoutineErrors = 0
If Response.StatusCode = WebStatusCode.Ok Then
DoCmd.SetWarnings (WarningsOff)
TotalCount = Response.Data("TotalCount")
For i = 1 To TotalCount
For Each Item In Response.Data("Items")(i)
Select Case Item
Case "ClientId"
ClientId = Response.Data("Items")(i)(Item)
Case "ClientName"
ClientName = Response.Data("Items")(i)(Item)
ClientName = Replace(ClientName, "'", "''")
Case "TalkTimeInSeconds"
TalkTimeInSeconds = Response.Data("Items")(i)(Item)
Case "TransferTimeInSeconds"
TransferTimeInSeconds = Response.Data("Items")(i)(Item)
SQL = "INSERT INTO Call_Counts_Temp (ClientId,ClientName,TalkTimeInSeconds,TransferTimeInSeconds,DurationInSeconds,HoldTimeInSeconds) " & _
"VALUES ('" & ClientId & "','" & ClientName & "','" & TalkTimeInSeconds & "','" & TransferTimeInSeconds & "'" & _
",'" & DurationInSeconds & "','" & TransferTimeInSeconds & "')"
DoCmd.RunSQL SQL
Case "DurationInSeconds"
DurationInSeconds = Response.Data("Items")(i)(Item)
Case "HoldTimeInSeconds"
HoldTimeInSeconds = Response.Data("Items")(i)(Item)
End Select
Next
Next
End If
At i = 26 the process errors out with:
Run-time error '9':
Subscript out of range
I'm guessing that's when the loop moves to Page 2. Any ideas how to write the code for this? This is the first time I've worked with a JSON call, so I'm guessing that the way I wrote my code isn't very efficient anyway. Thanks!