MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Adaptar Split em XmlImport URL (CEP)

    avatar
    mauro coutinho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 17/06/2013

    [Resolvido]Adaptar Split em XmlImport URL (CEP) Empty [Resolvido]Adaptar Split em XmlImport URL (CEP)

    Mensagem  mauro coutinho 21/6/2013, 04:50

    Colegas do forum, esta é minha primeira duvida no Forum, me descupem se não tiver relacionamento com o Forum, mas estou tentando adaptar uma rotina que busca CEP de um arquivo excel para o access me baseando no exemplo que baixei aqui no forum do criquio - Cep OnLine e OFFline, só que no meu PC em casa funciona perfeitamente, mas ao tentar utiliza-lo no serviço da erro na rotina "Function busca_cep(CEP)"  na linha :
    xmlhttp.Open "GET", url, False
    xmlhttp.Send ""

    Acredito que o problema seja alguma restrição com a conexão de internet imposta pelo suporte, ainda não verifiquei, por outro lado tenho um exemplo feito em Excel que funciona perfeitamente tanto em casa como no serviço, mas o único diferencial é que o resultado é enviado para algumas celulas na planilha e eu gostaria de passa-los para os Textbox de um formulário, tentei utilizar a mesma lógica da rotina Busca_Cep onde é utilizado a função Split, mas não obtive sucesso.
    Então se puderem me ajudar na adaptação da rotina, a instrução seria esta :

    Sub lsPesquisaCEP(ByVal sCEP As String)
        On Error GoTo TratarErro
        
        Range("Consulta!a1:H1").Clear
        
        If sCEP <> "" Then
            With ActiveWorkbook.XmlMaps("webservicecep_Mapa")
                .ShowImportExportValidationErrors = False
                .AdjustColumnWidth = True
                .PreserveColumnFilter = False
                .PreserveNumberFormatting = False
                .AppendOnImport = False
            End With
            
            ActiveWorkbook.XmlImport URL:= _
                "http://republicavirtual.com.br/web_cep.php?cep=" & sCEP, ImportMap:= _
                Nothing, Overwrite:=False, Destination:=Range("Consulta!$a$1")
                
        End If
            
        Calculate
        
    Sair:
        Exit Sub
    TratarErro:
        MsgBox "CEP não cadastrado!"
        GoTo Sair
        Resume
    End Sub


    Como adaptar a linha que está em negrito utilizando o Split para que ao inves de enviar para o range enviar para os textbox separados.

    abraços


    Última edição por mauro coutinho em 28/6/2013, 01:52, editado 1 vez(es)
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Adaptar Split em XmlImport URL (CEP) Empty Re: [Resolvido]Adaptar Split em XmlImport URL (CEP)

    Mensagem  criquio 25/6/2013, 00:44

    Cadê as linhas que joga os dados nas células? A princípio, seria só mudar as células para:

    Me.NomeDoCampo.Text = "Dado do CEP"


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mauro coutinho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 17/06/2013

    [Resolvido]Adaptar Split em XmlImport URL (CEP) Empty Re: [Resolvido]Adaptar Split em XmlImport URL (CEP)

    Mensagem  mauro coutinho 26/6/2013, 15:05

    Criquio, primeiramente grato pelo retorno.

    A instrução abaixo joga os dados retornado para Range("Consulta!$a$1"), ou seja Aba Consulta Range A1, e o interessante é que coloca cada valor em uma celula separada:

    A1 = 0 ou 1 'Falso ou Verdadeiro
    B1 = (1)sucesso - cep completo ou (0)sucesso - cep não encontrado
    C1 = UF
    D1 = Cidade
    E1 = Bairro
    F1 = Tipo (Rua, Av, Tv...)
    G1 = Endereço

    Pelo que entendi vem tudo junto nesta instrução, e não sei como são separados, por isto que tentei adaptar com o Split este resultado, mas não consegui..

    ActiveWorkbook.XmlImport URL:= _
               "http://republicavirtual.com.br/web_cep.php?cep=" & sCEP, ImportMap:= _
               Nothing, Overwrite:=False, Destination:=Range("Consulta!$a$1")


    Estou anexando o arquivo, se ver que é possivel, apesar de estar em Excel, agradeço, vou procurar colocar em um Forum sobre Excel tambem, e qualquer coisa retorno.


    abraços
    Anexos
    [Resolvido]Adaptar Split em XmlImport URL (CEP) AttachmentFindCEP_Form.zip
    Buscar Cep transfere Aba Excel
    Você não tem permissão para fazer download dos arquivos anexados.
    (31 Kb) Baixado 27 vez(es)
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Adaptar Split em XmlImport URL (CEP) Empty Re: [Resolvido]Adaptar Split em XmlImport URL (CEP)

    Mensagem  criquio 27/6/2013, 15:35

    Aqui ambos funcionam normalmente. Verifique se as referências estão iguais em ambos.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mauro coutinho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 17/06/2013

    [Resolvido]Adaptar Split em XmlImport URL (CEP) Empty Re: [Resolvido]Adaptar Split em XmlImport URL (CEP)

    Mensagem  mauro coutinho 28/6/2013, 00:15

    Criquio, quanto ao funcionamento, quando utilizo  em casa os dois modelos rodam corretamente e trazem os resultados esperados.

    A razão da minha postagem tem duas questões, :
    A primeira seria separar os valores retornados pela instrução abaixo, da mesma forma que é feito na Rotina -Private Sub VerificarCEP() e Function  - Function busca_cep(CEP), adaptadas do modelo (CEPOnOffLine.zip) de sua autoria feito em Access que baixei no link -  http://maximoaccess.forumeiros.com/t1638-cep-online-e-offline :

       If sCEP <> "" Then
           With ActiveWorkbook.XmlMaps("webservicecep_Mapa")
               .ShowImportExportValidationErrors = False
               .AdjustColumnWidth = True
               .PreserveColumnFilter = False
               .PreserveNumberFormatting = False
               .AppendOnImport = False
           End With

           
           ActiveWorkbook.XmlImport URL:= _
               "http://republicavirtual.com.br/web_cep.php?cep=" & sCEP, ImportMap:= _
               Nothing, Overwrite:=False, Destination:=Range("Consulta!$a$1")

               
      End If

    e como eu estou adaptando para o excel, uma vez que o VBA é entendido por qualquer aplicativo office, nas instruções acima, me deparei com o problema da separação, e por se tratar do Excel coloquei esta mesma duvida no Forum Planilhando -http://www.planilhando.com.br/forum/viewtopic.php?f=23&t=8709, e obtive a resposta do colega Reinaldo tirado da propria ajuda do app, eu que sempre lembro o pessoal de utilizar este recurso, acabei passando batido, que as instruções acima só podem ser retornadas para um Range na Planilha, e não tem comop retornar para formulário, e lendo mais um pouco sobre o assunto na net, tambem vi que a Propriedade XmlMaps, disponíveis somente no Microsoft Office Professional Edition 2003 e no Microsoft Office Excel 2003, para utilizarmos  temos de criar os mapas em "xml" ou importa-los das Bibliotecas do App, neste link temos instruções de como utilizar esta propriedade - Como usar XML no Excel 2003 - http://office.microsoft.com/pt-br/excel-help/como-usar-xml-no-excel-2003-HA001101964.aspx, tanto que, se você utiliza o Excel 2003 e no modelo que postei, for no Menu - Dados / XML / Codigo Fonte XML.. - aparecerá os mapas criados, então se apagar todos a rotina não funcionará.
    Resumindo, esta questão deixei de lado e parti para  a Segunda, que seria o procurar resolver o porque que na Function busca_cep, em casa funciona e no serviço me da erro de "Timed Out", e pesquisando sobre este erro, encontrei varios que me ajudaram a resolver a questão, ou seja nesta Function eu alterei a instrução :
    Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")

    por esta :
    Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
    que eliminou o erro e está retornando os resultados corretamente.

    Resumindo e finalizando, você tem razão quanto as referências, a qual encontrei materia no site abaixo :
    XML - Usando recursos de XMLHTTP com ASP e VB
    http://www.macoratti.net/xml_vb3.htm

    Agora vou continuar a adaptação com a rotina que verifica se está conectado ou não, e estudar um pouco mais sobre estes objetos, e se não tiverem nenhuma objeção, darei este tópico como resolvido.

    Grato pela atenção e parabens pelo Forum, assim que começar a lidar mais com Access terei uma participação maior, com duvida é claro.

    abraços

    Conteúdo patrocinado


    [Resolvido]Adaptar Split em XmlImport URL (CEP) Empty Re: [Resolvido]Adaptar Split em XmlImport URL (CEP)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 08:20