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]Jogar o resultado de uma consulta diretamente no gmail

    avatar
    FabioR
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 48
    Registrado : 27/10/2021

    [Resolvido]Jogar o resultado de uma consulta diretamente no gmail Empty [Resolvido]Jogar o resultado de uma consulta diretamente no gmail

    Mensagem  FabioR 14/6/2022, 09:33

    Bom dia turma!

    Preciso que o resultado da consulta qry_faltaaluno_parte2 fique disponível no corpo do email.
    No código abaixo, só aparece o último registro e preciso que apareça todos e caso não tenha registro, o email não será enviado.

    Public Function SendMail()
    Dim rs As DAO.Recordset
    Dim txthtm As String


    Set rs = CurrentDb.OpenRecordset("SELECT [qry_faltaaluno_parte2].[nome] FROM qry_faltaaluno_parte2")

    Do While Not rs.EOF

       txthtm = rs!Nome
       rs.MoveNext
       Loop
       rs.Close
       Set rs = Nothing
       Dim Obj As Object

       Set Obj = CreateObject("CDO.Message")
       With Obj.Configuration.Fields
           .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
           .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
           .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
           .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
           .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email@gmail.com"
           .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha"
           .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
           .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
           .Update
       End With
       
       With Obj
           .To = "email@emaili.com.br"
           .FROM = "email@gmail.com"
           .Subject = "Alunos ausentes por mais de 2 dias"
           .textbody = txthtm
       End With
       
       
       On Error Resume Next
       Obj.Send
       
       
       If Err.Number <> 0 Then
           MsgBox "CDO Error " & vbNewLine & Err.Description, vbCritical, "Avíso"
       Else
           MsgBox "Mensaje enviado con éxito", vbInformation, "Avíso"
       End If
       Set Obj = Nothing
    End Function


    Última edição por FabioR em 16/6/2022, 05:55, editado 1 vez(es)
    avatar
    FabioR
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 48
    Registrado : 27/10/2021

    [Resolvido]Jogar o resultado de uma consulta diretamente no gmail Empty Re: [Resolvido]Jogar o resultado de uma consulta diretamente no gmail

    Mensagem  FabioR 16/6/2022, 05:35

    Alguém consegue dar uma luz?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Jogar o resultado de uma consulta diretamente no gmail Empty Re: [Resolvido]Jogar o resultado de uma consulta diretamente no gmail

    Mensagem  Alexandre Neves 16/6/2022, 07:03

    Bom dia
    Respeite as regras do fórum: Aguarde, pelo menos, 24 horas antes de dar um up. Mesmo assim, seja mais resiliente pois já terá gasto alguns dias a tentar resolver e não resolveu, por isso, dê alguns dias aos colegas para pensarem, pois uma ideia boa precisará de mais tempo que a sua ideia que não funcionou.

    Sobre a questão, tem um loop sem enviar mensagem e, no fim, é que envia a mensagem. Assim, a mensagem é enviada com os dados do último registo.
    Coloque o código da mensagem dentro do 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
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3782
    Registrado : 04/04/2010

    [Resolvido]Jogar o resultado de uma consulta diretamente no gmail Empty Re: [Resolvido]Jogar o resultado de uma consulta diretamente no gmail

    Mensagem  Avelino Sampaio 16/6/2022, 10:40

    Olá!

    troque esta linha:

    txthtm = rs!Nome


    Por esta:

    txthtm = txthtm & vbnewline & rs!Nome


    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    FabioR
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 48
    Registrado : 27/10/2021

    [Resolvido]Jogar o resultado de uma consulta diretamente no gmail Empty Re: [Resolvido]Jogar o resultado de uma consulta diretamente no gmail

    Mensagem  FabioR 18/6/2022, 02:58

    Muito obrigado Avelino. Devo mais essa!!!
    Abraço

      Data/hora atual: 1/10/2022, 16:53