MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Obter coordenadas do local actual

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7780
    Registrado : 05/11/2009

    [Resolvido]Obter coordenadas do local actual Empty [Resolvido]Obter coordenadas do local actual

    Mensagem  Alexandre Neves em 22/8/2020, 15:28

    Boa tarde
    Alguém sabe ler as coordenadas do local actual
    P.ex. abrir a página (https://)mycurrentlocation.net/ e ler o valor da Latitude e Longitude e colocar no formulário
    ou código de importação das coordenadas a partir da api da Google


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6956
    Registrado : 15/03/2013

    [Resolvido]Obter coordenadas do local actual Empty Re: [Resolvido]Obter coordenadas do local actual

    Mensagem  ahteixeira em 23/8/2020, 17:36

    Olá Amigo Alexandre,

    Estive a fazer umas pesquisas e o que seria simples de capturar como podemos ver e testar em w3schools torna-se uma aventura no IE que inclusivé teve o seu fim este mês.

    Com API da Google verifique links abaixo se ajuda:
    mendipdatasystems.co.uk/get-current-geolocation
    access-programmers.co.uk/forums/threads/obtain-current-geolocation-data-using-vba.299592/


    Ainda estou a investigar, mas creio que uma boa alternativa caso não tenha mais que 10.000 pedidos por mês, seria utilizar a Api da ipstack.com que é gratuita.

    Abraço
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7780
    Registrado : 05/11/2009

    [Resolvido]Obter coordenadas do local actual Empty Re: [Resolvido]Obter coordenadas do local actual

    Mensagem  Alexandre Neves em 23/8/2020, 19:23

    Olá amigo Teixeira
    Obrigado pelo esforço em ajudar, pois sei não ser para qualquer um
    Não sou especialista nestas linguagens (já tinha visto a segunda sugestão mas não consegui desenrolar-me)
    A minha pretensão é quando criar um registo na tabela onde tem um campo de localização, a localização fosse preenchida automaticamente, sem intervenção humana, ou seja, o código abria no Chrome o endereço (https://)mycurrentlocation.net/ e transportasse para a tabela a Latitude e a Longitude indicada no portal
    Tenho estado a estudar a forma de
    1 - abrir o endereço (resolvido)
    2 - passar o html para documento DOM
    3 - ler o valor da latitude e da longitude a partir do DOM

    Abraços,


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6956
    Registrado : 15/03/2013

    [Resolvido]Obter coordenadas do local actual Empty Re: [Resolvido]Obter coordenadas do local actual

    Mensagem  ahteixeira em 24/8/2020, 16:19

    Olá Alexandre,

    Também não encontro forma de lá chegar ao outro browser.

    Creio que deverá ser via componente terceiro, poderá ser o Selenium, veja se ajuda:
    https://www.maximoaccess.com/t33350-extraindo-dados-da-web-ms-access-com-selenium-webdriver
    drvba.blogspot.com/2019/12/controlling-chrome-with-selenium-and-vba.html

    Aguardamos mais sugestões (alternativas).

    Abraço
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7780
    Registrado : 05/11/2009

    [Resolvido]Obter coordenadas do local actual Empty Re: [Resolvido]Obter coordenadas do local actual

    Mensagem  Alexandre Neves em 24/8/2020, 20:13

    Obrigado, amigo Teixeira
    Ainda não se serve nem como lhe pegar, mas agradeço a dica. Vou tentando e aguardando


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6956
    Registrado : 15/03/2013

    [Resolvido]Obter coordenadas do local actual Empty Re: [Resolvido]Obter coordenadas do local actual

    Mensagem  ahteixeira em 25/8/2020, 16:31

    Olá Alexandre,

    Com a última dica via Selenium (versão que o colega disponibilizou), consegui colocar a funcionar.
    Código:
    Option Compare Database
    Public driver As New SeleniumWrapper.WebDriver

    Public Function fncCoordenadas() As String
    'ahteixeira 2020 para MaximoAccess
    'requer que esteja instalado o Chrome, Selenium e chromedriver
    'requer a referencia SeleniumWrapper Type Library 1.0

        driver.Start "chrome", ""
        driver.Open "https://mycurrentlocation.net"
        
        fncCoordenadas = driver.findElementById("latitude").Text & "|" & _
                         driver.findElementById("longitude").Text
        driver.Stop
    End Function

    Código:
    Private Sub CmdConsultar_Click()
    'ahteixeira 2020 para MaximoAccess
    'Requer função: fncCoordenadas
        Dim xArray() As String
        Dim strCoordenadas As String

        Me.CmdConsultar.Caption = "Aguarde por favor ..."

        strCoordenadas = fncCoordenadas
      
        If Len(strCoordenadas & "") > 1 Then
            xArray() = Split(strCoordenadas, "|")
            Me.txtLatitude = xArray(0)
            Me.txtLongitude = xArray(1)
        End If
        
        Me.CmdConsultar.Caption = "Consultar coordenadas"
    End Sub

    Segue em anexo o meu teste:
    cld.pt/dl/download/f1c87c1b-bb25-43c9-84ec-33c654e67653/CapturarCoordenadasSelenium.zip
    Será apenas necessário instalar previamente os ficheiros dependentes (Selenium e Chromedriver).
    Não consegui esconder a janela do browser.

    Abraço
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7780
    Registrado : 05/11/2009

    [Resolvido]Obter coordenadas do local actual Empty Re: [Resolvido]Obter coordenadas do local actual

    Mensagem  Alexandre Neves em 25/8/2020, 16:39

    Boa tarde
    Obrigado, amigo Teixeira, vou trabalhar o código e depois retorno
    Abraço,


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6956
    Registrado : 15/03/2013

    [Resolvido]Obter coordenadas do local actual Empty Re: [Resolvido]Obter coordenadas do local actual

    Mensagem  ahteixeira em 26/8/2020, 13:09

    Olá Alexandre,

    Estive a ver outra solução alternativa sem instalação de programas terceiros.
    Otei por usar uma técnica que já usei em tempos para obter data da internet.

    Coloquei o seguinte código em PHP (index.php) alojado na seguinte URL  datahora.ga/coordenadas
    Código:
    <?php
    error_reporting(0);
    function get_client_ip() {
        $ipaddress = '';
        if (getenv('HTTP_CLIENT_IP'))
            $ipaddress = getenv('HTTP_CLIENT_IP');
        else if(getenv('HTTP_X_FORWARDED_FOR'))
            $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
        else if(getenv('HTTP_X_FORWARDED'))
            $ipaddress = getenv('HTTP_X_FORWARDED');
        else if(getenv('HTTP_FORWARDED_FOR'))
            $ipaddress = getenv('HTTP_FORWARDED_FOR');
        else if(getenv('HTTP_FORWARDED'))
           $ipaddress = getenv('HTTP_FORWARDED');
        else if(getenv('REMOTE_ADDR'))
            $ipaddress = getenv('REMOTE_ADDR');
        else
            $ipaddress = 'UNKNOWN';
        return $ipaddress;
    }
    $PublicIP = get_client_ip();
    $json  = file_get_contents("http://api.ipstack.com/$PublicIP?access_key=COLOCAR_A_VOSSA_ACCESS_KEY_DA_API");
    $json  =  json_decode($json ,true);

    $latitude       = $json['latitude'];
    $longitude      = $json['longitude'];

    echo "" . $latitude ."|" . $longitude;
    ?>

    Desta forma vai buscar a localização do IP do browser que está aceder, através da API do ipstack.com.
    Deixo a funcionar e pode ser utilizado por quem quiser, lembro que tem um limite mensal gratuito de 10000 acessos.
    No entanto caso pretenda, pode criar o registo gratuito no ipstack.com  e alojar num servidor à escolha.

    Abraço
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7780
    Registrado : 05/11/2009

    [Resolvido]Obter coordenadas do local actual Empty Re: [Resolvido]Obter coordenadas do local actual

    Mensagem  Alexandre Neves em 27/9/2020, 20:14

    Boa noite, amigo Teixeira
    O assunto está em pausa. Era apenas desenvolvimento pessoal e não percebo da linguagem envolvida
    Abraço e obrigado por todo o empenho
    Vou dar o tema por encerrado e voltarei logo que possa


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6956
    Registrado : 15/03/2013

    [Resolvido]Obter coordenadas do local actual Empty Re: [Resolvido]Obter coordenadas do local actual

    Mensagem  ahteixeira em 28/9/2020, 10:41

    Olá amigo Alexandre Neves,

    Obrigado pelo feedback, como o assunto pode ter interesse por outros membros, deixo ficar exemplo.

    Código:
    Private Sub CmdConsultar_Click()
    'ahteixeira 2020 para MaximoAccess
    'Requer função: fncCoordenadas

       Dim xArray() As String

        Me.CmdConsultar.Caption = "Aguarde por favor"
        
        Me.txtRecebido = fncCoordenadas
        
        If InStr(Me.txtRecebido, "|") <> 0 Then
            xArray() = Split(Me.txtRecebido, "|")
            Me.txtLatitude = xArray(0)
            Me.txtLongitude = xArray(1)
        End If
        
        Me.CmdConsultar.Caption = "Consultar coordenadas de website"
    End Sub


    Function fncCoordenadas() As String
    'ahteixeira 2020 para MaximoAccess
    'requer a referencia Microsoft XML 6.0

        Dim xmlhttp As XMLHTTP60
        Dim sResposta As String

        Set xmlhttp = New XMLHTTP60
        
        xmlhttp.Open "GET", "https://datahora.ga/coordenadas/index.php" & "?cb=" & Timer() * 100, False
        xmlhttp.send

        sResposta = Trim(xmlhttp.ResponseText)
        fncCoordenadas = sResposta
    End Function

    Forte Abraço
    Anexos
    [Resolvido]Obter coordenadas do local actual AttachmentCapturarCoordenadasWebsitePhp.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (20 Kb) Baixado 12 vez(es)
    avatar
    wmantovani
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 156
    Registrado : 06/09/2011

    [Resolvido]Obter coordenadas do local actual Empty Re: [Resolvido]Obter coordenadas do local actual

    Mensagem  wmantovani em 28/9/2020, 15:35

    Olá amigo, eu tenho um bd muito simples aqui em access, onde ele pega o endereço e retorna a latitude e longitude do google, se quiser posso postar e vc da uma estudada nele, ele se baseia em uma tabela de endereços, estou enviando em anexo, ele esta setado para as ruas de Bauru, mas isso ai é favil colocar do brasil todo tendo a base de ceps, a minha mais atual é de 2018
    Anexos
    [Resolvido]Obter coordenadas do local actual AttachmentXML_Latitude.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (360 Kb) Baixado 7 vez(es)

      Data/hora atual: 29/11/2020, 20:22