We help IT Professionals succeed at work.

JSON post with  Access VBA

cmccurdy
cmccurdy asked
on
289 Views
Last Modified: 2018-09-08
I need to convert the CURL POST command below to vba (access).  I'm very proficient with access vba but not anything web-based so any direction on learning materials would be also appreciated.  I found and modified an example that I thought might work (code below), but it just gives the error "ActiveX can't create the object.  Suggestions?

CURL COMMAND:
curl -X POST -H "Content-type: application/json" -H "Accept: application/json" -d '{"shop": "9999999999","client_code": "88888888888.","lastname": "Ender","phonenumber": "5555555559","vehicle_year": "1999","vehicle_make": "JEEP","vehicle_model": "something" }' http://somewebsite.com/api/customers

VBA CODE (Fails with error above):

Private Sub cmdCreateAutoTextCustomer_Click()
Dim sURL As String, sHTML As String
Dim oHttp As Object
Dim Body As String
'‘Add a reference to the MSXML type library
Set oHttp = CreateObject("MSXML3.ServerXMLHTTP")

'‘The website to post to
sURL = "http://somewebsite.com/api/customers"

'‘ The json string to send.
Body = "{""shop_number"": ""9729925026"",""client_code"": ""142KukK231k."",""lastname"": ""Ender"",""phonenumber"": ""5555555559"",""vehicle_year"": ""2009"",""vehicle_make"": ""JEEP"",""vehicle_model"": ""something"" }"

oHttp.Open "POST", sURL, False
oHttp.setRequestHeader ' "Content - type", "application / json" '
oHttp.setRequestHeader '"Accept”, "application / json"'

'‘Send the json
oHttp.send (Body)

'‘Server response.
sHTML = oHttp.responseText

'‘Verify that the login was successful.
If Mid(sHTML, Len(sHTML) - 5, 6) = ":true}" Then
    MsgBox "Success"
    Set oHttp = Nothing
    MsgBox "An error occured."
Exit Sub
End If

Set oHttp = Nothing
End Sub
Comment
Watch Question

Project Manager / Technical Lead
CERTIFIED EXPERT
Commented:
This problem has been solved!
(Unlock this solution with a 7-day Free Trial)
UNLOCK SOLUTION

Author

Commented:
Thanks, I'm working on that now.

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions