Bom dia
Estou com uma dúvida em relação ao uso de uma "variável" em uma consulta a um web service.
Antes de tudo agradeço ao DamascenoJr por alguns códigos que ele postou, que durante minhas pesquisas para atender minha ideia me ajudaram bastante.
Eu tenho um web service e estou criando um código para buscar dados. Ele usa SOAP para a consulta. Antes de realizar testes no Access 2013 eu usei um client SOAP para testar, onde consegui consultar e obter o resultado.
Então, eu criei um código VBA para buscar os dados conforme abaixo.
Ao clicar no botão de comando o Acces consulta e coloca a resposta em um campo (para testes iniciais).
A minha duvida é seu eu consigo fazer com que o usuário, a senha e o nome do cliente na parte do código abaixo sejam obtidos a partir de um formulário.
Fiz algumas pesquisas aqui no fórum e na internet mas ainda não identifiquei um exemplo que me auxiliasse.
Desde já agradeço a ajuda de todos!!
Enio Eltz Filho.
Estou com uma dúvida em relação ao uso de uma "variável" em uma consulta a um web service.
Antes de tudo agradeço ao DamascenoJr por alguns códigos que ele postou, que durante minhas pesquisas para atender minha ideia me ajudaram bastante.
Eu tenho um web service e estou criando um código para buscar dados. Ele usa SOAP para a consulta. Antes de realizar testes no Access 2013 eu usei um client SOAP para testar, onde consegui consultar e obter o resultado.
Então, eu criei um código VBA para buscar os dados conforme abaixo.
- Código:
strEnv = ""
strEnv = strEnv & "<x:Envelope xmlns:x=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:web=""MINHA_URL_DE_CONSULTA"">" & vbNewLine
strEnv = strEnv & " <x:Header/>" & vbNewLine
strEnv = strEnv & " <x:Body>" & vbNewLine
strEnv = strEnv & " <web:RetornaClientePorNome>" & vbNewLine
strEnv = strEnv & " <web:auth>" & vbNewLine
strEnv = strEnv & " <web:usuario>USUARIO</web:usuario>" & vbNewLine
strEnv = strEnv & " <web:senha>SENHA</web:senha>" & vbNewLine
strEnv = strEnv & " </web:auth>" & vbNewLine
strEnv = strEnv & " <web:nome_cliente>NOME_DO_CLIENTE</web:nome_cliente>" & vbNewLine
strEnv = strEnv & " </web:RetornaClientePorNome>" & vbNewLine
strEnv = strEnv & " </x:Body>" & vbNewLine
strEnv = strEnv & "</x:Envelope>" & vbNewLine
Dim strURL
strURL = "MINHA_URL_DE_ACESSO"
Set xmlHttp = New MSXML2.XMLHTTP30
With xmlHttp
.Open "POST", strURL, False
.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
.setRequestHeader "Content-Length", "Length"
.send strEnv
End With
If CLng(xmlHttp.Status) < 300 Then
strTemp = xmlHttp.responseText
Me.cmp_resposta.Value = strTemp
Else
Me.cmp_resposta.Value = "ERRO"
End If
Set xmlHttp = Nothing
Ao clicar no botão de comando o Acces consulta e coloca a resposta em um campo (para testes iniciais).
A minha duvida é seu eu consigo fazer com que o usuário, a senha e o nome do cliente na parte do código abaixo sejam obtidos a partir de um formulário.
- Código:
strEnv = ""
strEnv = strEnv & "<x:Envelope xmlns:x=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:web=""MINHA_URL_ACESSO"">" & vbNewLine
strEnv = strEnv & " <x:Header/>" & vbNewLine
strEnv = strEnv & " <x:Body>" & vbNewLine
strEnv = strEnv & " <web:RetornaClientePorNome>" & vbNewLine
strEnv = strEnv & " <web:auth>" & vbNewLine
strEnv = strEnv & " <web:usuario>MEU_USUARIO</web:usuario>" & vbNewLine
strEnv = strEnv & " <web:senha>MINHA_SENHA</web:senha>" & vbNewLine
strEnv = strEnv & " </web:auth>" & vbNewLine
strEnv = strEnv & " <web:nome_cliente>NOME_DO_CLIENTE</web:nome_cliente>" & vbNewLine
strEnv = strEnv & " </web:RetornaClientePorNome>" & vbNewLine
strEnv = strEnv & " </x:Body>" & vbNewLine
strEnv = strEnv & "</x:Envelope>" & vbNewLine
Fiz algumas pesquisas aqui no fórum e na internet mas ainda não identifiquei um exemplo que me auxiliasse.
Desde já agradeço a ajuda de todos!!
Enio Eltz Filho.