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


3 participantes

    [Resolvido]VBA Para HTML com LOOP

    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]VBA Para HTML com LOOP Empty [Resolvido]VBA Para HTML com LOOP

    Mensagem  wmantovani 16/2/2013, 11:47

    Pessoal bom dia, to tentando fazer uma pagina em HTML a partir de dados de uma tabela temporária, porem na hora de gerar o loop dos dados que necessito nao esta dando certo, sera que alguem pode dar uma olhada e dar um help,

    Sub AbreGoogle(TipoServico As String)
    'criada por Alexandre Neves em 2012-04-12 para wmantovani do fórum ExpertAccess

    Dim start_path As String
    Dim fs As Scripting.FileSystemObject, F As Scripting.TextStream
    Set fs = CreateObject("Scripting.FileSystemObject")
    Dim Rst As DAO.Recordset
    Dim wsh As Object

    Set wsh = CreateObject("wscript.shell")
    start_path = wsh.SpecialFolders("Desktop") & "\"
    Set wsh = Nothing
    Set Rst = CurrentDb.OpenRecordset("SELECT Endereço, Latitude, Longitude, Serviço FROM [ENTRADA DE PROCESSO] WHERE Serviço='" & TipoServico & "' GROUP BY Endereço, Latitude, Longitude, Serviço")

    start_path = Replace(start_path, "\\", "\") & "access.html"
    Set F = fs.OpenTextFile(start_path, 2, True)


    F.Write "" & vbCrLf 'Linha correta
    F.Write "" & vbCrLf 'Linha correta
    F.Write "" & vbCrLf 'Linha correta
    F.Write "" & vbCrLf 'Linha correta
    F.Write "Sistema Integado de Gestao - wmantovani@gmail.com" & vbCrLf
    F.Write "" & vbCrLf
    F.Write "" & vbCrLf
    F.Write "" & vbCrLf
    F.Write "" & vbCrLf

    F.Write " var map = null;" & vbCrLf
    F.Write "" & vbCrLf
    F.Write " function initialize() {" & vbCrLf
    F.Write " if (GBrowserIsCompatible()) {" & vbCrLf
    F.Write " var map = new GMap2(document.getElementById(""mapa""));" & vbCrLf
    F.Write " map.setCenter(new GLatLng(-22.31487, -49.049158), 13);" & vbCrLf
    F.Write " map.enableScrollWheelZoom();" & vbCrLf
    F.Write "" & vbCrLf
    F.Write " var ui = new GMapUIOptions();" & vbCrLf
    F.Write " ui.maptypes = {normal:true, roadmap:true, hybrid:true, physical:true, satellite:true}" & vbCrLf
    F.Write " ui.zoom = {scrollwheel:true,draggable: true};" & vbCrLf
    F.Write " ui.controls = {scalecontrol:true, draggable: true, smallzoomcontrol3d:true,largemapcontrol3d:false, scalecontrol:true};" & vbCrLf
    F.Write " ui.keyboard = true;" & vbCrLf
    F.Write " map.setUI(ui);" & vbCrLf
    F.Write " map.addControl(new GMapTypeControl());//inserir tipos de mapas" & vbCrLf
    F.Write " map.addControl = false" & vbCrLf
    F.Write " var pontosLg = new Array();" & vbCrLf
    F.Write " var pontosLt = new Array();" & vbCrLf
    F.Write " var html = new Array();" & vbCrLf
    F.Write " var icon = new Array();" & vbCrLf
    F.Write "" & vbCrLf


    'Inicio das coordenadas em loop na pagina
    Do While Not Rst.EOF
    If IsNull(Rst("teste")) Then

    F.Write "pontosLg[i] = longitude;" & vbCrLf
    F.Write "pontosLt[i] = latitude;" & vbCrLf
    F.Write "html[i] = " & Chr(34) & "Ecoponto" & Chr(34) & ";" & vbCrLf
    F.Write "icon[i] = new GIcon(G_DEFAULT_ICON);" & vbCrLf
    F.Write "icon[i].image = " & Chr(34) & "http://static.batchgeo.com/images/icons/red_Marker.png" & Chr(34) & ";" & vbCrLf
    F.Write "icon[i].shadow = " & Chr(34) & "images/icon_medico_sombra.png" & Chr(34) & ";" & vbCrLf
    F.Write "icon[i].iconSize = new GSize(10, 17);" & vbCrLf
    F.Write "" & vbCrLf

    Else
    End If
    Rst.MoveNext
    Loop



    F.Write "for (var i = 0; i < pontosLg.length; i++) {" & vbCrLf
    F.Write "map.addOverlay(criarMarca(pontosLt[i], pontosLg[i], html[i],icon[i]));" & vbCrLf
    F.Write "}" & vbCrLf
    F.Write "}" & vbCrLf
    F.Write "}" & vbCrLf
    F.Write "function criarMarca(lat, lng, html, icon){" & vbCrLf
    F.Write "var point = new GLatLng(lat,lng);" & vbCrLf
    F.Write "var marca = new GMarker(point,{icon:icon, draggable:false});//var marca = new GMarker(point,{icon:icon, draggable:false});" & vbCrLf
    F.Write "if(html != null){" & vbCrLf
    F.Write "GEvent.addListener(marca, " & Chr(34) & "click" & Chr(34) & ", function() {" & vbCrLf
    F.Write "marca.openInfoWindowHtml(html);" & vbCrLf
    F.Write "});" & vbCrLf
    F.Write "}" & vbCrLf
    F.Write "return marca;" & vbCrLf
    F.Write "}" & vbCrLf
    F.Write "
    " & vbCrLf
    F.Write "" & vbCrLf
    F.Write "" & vbCrLf
    F.Write "

    " & vbCrLf
    F.Write "
    " & vbCrLf
    F.Write "
    " & vbCrLf
    F.Write "" & vbCrLf
    F.Write "" & vbCrLf


    F.Close
    Set Rst = Nothing
    Call Shell("explorer.exe " & start_path, vbNormalFocus)
    End Sub

    Grato
    Anexos
    [Resolvido]VBA Para HTML com LOOP Attachmentarquivo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (100 Kb) Baixado 21 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]VBA Para HTML com LOOP Empty Re: [Resolvido]VBA Para HTML com LOOP

    Mensagem  Convidado 16/2/2013, 17:01

    Boas Mantovani.. o que não dá certo, qual o erro ocorre?

    Cumprimentos.
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]VBA Para HTML com LOOP Empty Re: [Resolvido]VBA Para HTML com LOOP

    Mensagem  wmantovani 16/2/2013, 20:27

    Caro Piloto a parte do codigo abaixo, deve pegar campos Latitude e Logitude da tabela ENTRADA DE PROCESSO e repitir com todos os dadossempre comforme a parte abaixo para posteriormente montar uma pagina HTML com os multiplos marcadores do google maps se quiser mando a pagina html final a qual estou tentando adaptar para access.

    o [i] abaixo deve ser subistituido por 1 no primeiro registro, 2 no segundo e assim por diante a cada registros a ser montado

    Inicio das coordenadas em loop na pagina
    Do While Not Rst.EOF
    If IsNull(Rst("teste")) Then

    F.Write "pontosLg[i] = longitude;" & vbCrLf
    F.Write "pontosLt[i] = latitude;" & vbCrLf
    F.Write "html[i] = " & Chr(34) & "Ecoponto" & Chr(34) & ";" & vbCrLf
    F.Write "icon[i] = new GIcon(G_DEFAULT_ICON);" & vbCrLf
    F.Write "icon[i].image = " & Chr(34) & "http://static.batchgeo.com/images/icons/red_Marker.png" & Chr(34) & ";" & vbCrLf
    F.Write "icon[i].shadow = " & Chr(34) & "images/icon_medico_sombra.png" & Chr(34) & ";" & vbCrLf
    F.Write "icon[i].iconSize = new GSize(10, 17);" & vbCrLf
    F.Write "" & vbCrLf

    Else
    End If
    Rst.MoveNext
    Loop
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]VBA Para HTML com LOOP Empty Re: [Resolvido]VBA Para HTML com LOOP

    Mensagem  Alexandre Neves 16/2/2013, 20:39

    Boa noite,
    utilize
    Inicio das coordenadas em loop na pagina
    Do While Not Rst.EOF
    If IsNull(Rst("teste")) Then

    F.Write "pontosLg[" & rst.AbsolutePosition+1 &"] = longitude;" & vbCrLf
    F.Write "pontosLt[" & rst.AbsolutePosition+1 &"] = latitude;" & vbCrLf
    F.Write "html[" & rst.AbsolutePosition+1 &"] = " & Chr(34) & "Ecoponto" & Chr(34) & ";" & vbCrLf
    F.Write "icon[" & rst.AbsolutePosition+1 &"] = new GIcon(G_DEFAULT_ICON);" & vbCrLf
    F.Write "icon[" & rst.AbsolutePosition+1 &"].image = " & Chr(34) & "http://static.batchgeo.com/images/icons/red_Marker.png" & Chr(34) & ";" & vbCrLf
    F.Write "icon[" & rst.AbsolutePosition+1 &"].shadow = " & Chr(34) & "images/icon_medico_sombra.png" & Chr(34) & ";" & vbCrLf
    F.Write "icon[" & rst.AbsolutePosition+1 &"].iconSize = new GSize(10, 17);" & vbCrLf
    F.Write "" & vbCrLf

    Else
    End If
    Rst.MoveNext
    Loop


    .................................................................................
    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
    avatar
    Convidado
    Convidado


    [Resolvido]VBA Para HTML com LOOP Empty Re: [Resolvido]VBA Para HTML com LOOP

    Mensagem  Convidado 16/2/2013, 21:16

    Eis nosso Mestre Grande Alexandre... Como está vocë, espero que bem.

    Mantovani, assim que pronto se puder disponibilizar o exemplo fico grato.

    Cumprimentos.
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]VBA Para HTML com LOOP Empty Re: [Resolvido]VBA Para HTML com LOOP

    Mensagem  wmantovani 16/2/2013, 22:22

    Caro Alexandre, fiz o que passou, nao deu certo, nao ta montanto a parte que vc fez no html, o arquivo.zip tem o bd que to tentando fazer, se puder dar uma olhada, fico muito agradecido.

    e so pra constar to assistindo algumas aulas de vba, mas juro pra mim ta parecendo bicho de 11 cabeças, rs.


    Caro Piloto, assim que eu terminar posto, pois vi que muita gente procura algo assim, eu mesmo estou a quase dois anos na busca mas acho que agora vai dar certo....
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]VBA Para HTML com LOOP Empty Re: [Resolvido]VBA Para HTML com LOOP

    Mensagem  Alexandre Neves 16/2/2013, 22:25

    o rst.AbsolutePosition+1 evolui como?


    .................................................................................
    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
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]VBA Para HTML com LOOP Empty Re: [Resolvido]VBA Para HTML com LOOP

    Mensagem  wmantovani 16/2/2013, 23:02

    a cada registro deve mudar o numeral, iniciando pelo numero 1, o proximo 2, e assim por diante,

    Tava dando uma olhada aqui, a linha:
    If IsNull(Rst("teste")) Then

    na verdade o correto é, pois nao pode conter valor nulo
    If Not IsNull(rst("serViço")) Then


    o arquivo anexo em html e o resultado final o qual quero chegar...atraves do codigo VBA
    Anexos
    [Resolvido]VBA Para HTML com LOOP Attachmentresultado final.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (2 Kb) Baixado 41 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]VBA Para HTML com LOOP Empty Re: [Resolvido]VBA Para HTML com LOOP

    Mensagem  DamascenoJr. 29/9/2021, 23:57

    wmantovani, algum avanço?

    Aguardamos...


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]VBA Para HTML com LOOP Empty Re: [Resolvido]VBA Para HTML com LOOP

    Mensagem  wmantovani 29/6/2022, 12:05

    Bom dia DamascenoJr., deu tudo certo sim, muito obrigado e desculpa nao ter dado o devido retorno à época.

    Conteúdo patrocinado


    [Resolvido]VBA Para HTML com LOOP Empty Re: [Resolvido]VBA Para HTML com LOOP

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 08:08