Web services 使用VBA连接到MS Access中的web服务

Web services 使用VBA连接到MS Access中的web服务,web-services,ms-access,ms-access-2007,vba,Web Services,Ms Access,Ms Access 2007,Vba,是否可以通过Microsoft Access中的VBA连接到web服务(例如发送HTTP请求)? 例如,用户单击表单上的按钮,然后向web服务发送HTTP请求,web服务以OK响应 以前有人这样做过吗 注意:VBA,而不是VB.NET。我在一些项目中使用了“Microsoft Office 2003 Web Services Toolkit 2.01”工具包(可用)。虽然我也编写了与之交谈的web服务,但它对我来说运行得非常好,因此我有幸能够在让它真正工作时处理流程的两端 事实上,我刚刚将其中一

是否可以通过Microsoft Access中的VBA连接到web服务(例如发送HTTP请求)? 例如,用户单击表单上的按钮,然后向web服务发送HTTP请求,web服务以
OK
响应

以前有人这样做过吗

注意:VBA,而不是VB.NET。

我在一些项目中使用了“Microsoft Office 2003 Web Services Toolkit 2.01”工具包(可用)。虽然我也编写了与之交谈的web服务,但它对我来说运行得非常好,因此我有幸能够在让它真正工作时处理流程的两端

事实上,我刚刚将其中一个应用程序从Access_2003升级到Access_2010,应用程序的SOAP客户端部分继续工作,没有修改。但是,在部署前测试期间,我确实遇到了一个问题:

我的应用程序不会在运行32位Office_2010的64位计算机上编译,因为它不喜欢
SoapClient30
对象的早期绑定。当我切换到对该对象使用后期绑定时,代码将被编译,但它不起作用。因此,对于那个特定的应用程序,我必须添加一个限制,即64位计算机必须运行64位Office


另外,请注意,Microsoft的官方立场是“所有SOAP工具包都已被Microsoft.NET Framework所取代。”(参考)。

这是我在Access 2003中非常成功地使用的代码。它来自互联网,很久以前就被复制和再复制了。它创建一个HTTP GET请求,发送一个HTTP GET请求,并将结果作为字符串返回

Public Function http_Resp(ByVal sReq As String) As String

    Dim byteData() As Byte
    Dim XMLHTTP As Object

    Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")

    XMLHTTP.Open "GET", sReq, False
    XMLHTTP.send
    byteData = XMLHTTP.responseBody

    Set XMLHTTP = Nothing

    http_Resp = StrConv(byteData, vbUnicode)

End Function

sReq是URL;函数返回响应。您可能需要确保在引用下启用ActiveX数据对象(在VBA编辑器中,转到工具>引用)

这是我使用的代码。要使此代码正常工作,您需要首先引用MicrosoftXMLV6

Public Sub GetPerson()
    'For API
    Dim reader As New XMLHTTP60

    reader.Open "GET", "www.exmple.com/users/5428a72c86abcdee98b7e359", False
    reader.setRequestHeader "Accept", "application/json"
    reader.send


    Do Until reader.ReadyState = 4
        DoEvents
    Loop

    If reader.Status = 200 Then
        Msgbox (reader.responseText)
    Else
        MsgBox "Unable to import data."
    End If
End Sub

比如说?顺便说一句,MS Access使用VBA,而不是VB.NET。谢谢!我一直在搜索VB.net,这就是我没有找到任何东西的原因……另一个可能的解决方案是在VB.net中构建一个COM对象,该对象使用web服务并与web服务通信,然后设置对VB.net的引用。我认为建议的XMLHttp示例可能是最好的,但是如果您熟悉vb.net,那么您会发现它可以非常轻松地生成类对象。谢谢。。。就在3年后;)是否可以通过XMLHTTP对象上载/发布图像?