MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Enviar e-mail pelo access

    Compartilhe

    adriano944
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 187
    Registrado : 10/02/2010

    Enviar e-mail pelo access

    Mensagem  adriano944 em Qui 25 Fev 2010, 14:49

    Prezados
    Bom Dia

    Estou com uma duvida que é a seguinte..

    Como posso enviar um email pelo access?
    eu tenho uma rotina aqui, que vai ate abrir uma nova msg, mas gostaria de escrever tudo isso diretamente no access..o assunto..o corpo do email...etc...pois a msg que sera exibida, será padrao.

    caso alguem tenha algum exemplo...ou saiba me dizer...obrigado.

    Gilberto Rocha
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1022
    Registrado : 21/01/2010

    Re: Enviar e-mail pelo access

    Mensagem  Gilberto Rocha em Qui 25 Fev 2010, 17:03

    [Você precisa estar registrado e conectado para ver este link.]
    de uma olhada

    adriano944
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 187
    Registrado : 10/02/2010

    Re: Enviar e-mail pelo access

    Mensagem  adriano944 em Qui 25 Fev 2010, 17:07

    Blz..
    Ajudou bastante

    A minha duvida agora..é a seguinte..

    eu tenho uma tabela com alguns e-mails, e preciso criar um for para percorrer toda a tabela e enviar emails para estas pessoas..

    voce sabe como posso fazer este FOR?

    Gilberto Rocha
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1022
    Registrado : 21/01/2010

    Re: Enviar e-mail pelo access

    Mensagem  Gilberto Rocha em Qui 25 Fev 2010, 17:14

    Veja la que tem um exemplo que busca uma tabela e salva um relatório em pdf e envia para o email do registro atual

    adriano944
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 187
    Registrado : 10/02/2010

    Re: Enviar e-mail pelo access

    Mensagem  adriano944 em Qui 25 Fev 2010, 17:31

    Nao estou conseguindo abrir os ultimos exemplos....

    nao sei se é porque foram feitos no access 2007, pois nao tenho o programa aki...


    Eu tenho o seguinte codigo:

    Dim OutApp As Object
    Dim OutMail As Object

    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    Set OutMail = OutApp.CreateItem(0)

    With OutMail
    .To = Me!TxtEmail
    .Subject = "Relatório Semanal-Desenhos Coloridos Sem DA"
    .Body = "Prezados Srs., Peço a gentileza de acessarem a lista de Desenhos Coloridos Sem DA para analisarem os desenhos que estão presentes no mesmo sem análise. Certo da Compreensão de todos, desde já Agradeço."
    .Send
    End With

    Set OutMail = Nothing
    Set OutApp = Nothing



    o codigo esta pegando o endereço do destinatario em um formulário..porem eu nao quero mais desta maneira..preciso que pegue de uma tabela, porem esta tabela pode ter de 1 a x registros.
    preciso que percorra por todos os registro e envie um email para cada..

    Se alguem puder me ajudar...

    obrigado

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: Enviar e-mail pelo access

    Mensagem  JPaulo em Sex 26 Fev 2010, 14:53

    Teste assim;

    Private Sub SeuBotao_Click()
    Dim rst As DAO.Recordset
    Dim strDestinatarios
    Dim strTitulo
    Dim strMensagemCorpoDoEmail

    Set rst = CurrentDb.OpenRecordset("SuaTabela ou SuaConsulta")

    Do Until rst.EOF
    strDestinatarios = strDestinatarios & rst("CampoEmailDestino") & ";"
    rst.MoveNext
    Loop

    strDestinatarios = Left(strDestinatarios, Len(strDestinatarios) - 1)
    strTitulo = "teste"
    strMensagemCorpoDoEmail = "Obrigado"

    On Error Resume Next
    DoCmd.SendObject , , , strDestinatarios, _
    , , strTitulo, strMensagemCorpoDoEmail, True, False

    rst.Close
    Set rst = Nothing
    End Sub


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    adriano944
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 187
    Registrado : 10/02/2010

    Re: Enviar e-mail pelo access

    Mensagem  adriano944 em Seg 01 Mar 2010, 12:41

    JPaulo

    Como sempre você me ajudou muito...

    Nao sei se é possivel resolver neste tópico também uma outra duvida relacionada ao meu sistema...de qlqr forma vou postar aqui, e qualquer coisa, você me diz e eu apago.

    A minha duvida é a seguinte.

    A rotina que você me enviou está executando sem problemas, porem nela eu preciso inserir um contador para que seja informado no email o numero de pendencias para cada pessoa.

    Bom.. Tenho uma tabela chamada "temp" - nesta fica os endereços de e-mails e nomes de quem tem pendencia.
    tenho uma outra tabela chamada aux - nesta fica as pendencias de cada pessoa, porem esta tudo junto de todas as pessoas..

    Na tabela temp tem também um campo chamado: Pendencias, onde o mesmo deve receber o valor da quantidade de vezes que o nome da pessoa aparece na tabela AUX.

    Nao sei se compreenderam mas preciso que apareça da seguinte maneira

    Campos: Analista - E-mail - Pendencias
    Joao [Você precisa estar registrado e conectado para ver este link.] 30
    Maria [Você precisa estar registrado e conectado para ver este link.] 50


    Acho que deu para explicar +/-....

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: Enviar e-mail pelo access

    Mensagem  JPaulo em Seg 01 Mar 2010, 14:31

    Utilize a instrução DCount em VBA, escreva DCount no vba e pressione a tecla F1, a ajuda do Access vai fazer com que o amigo entenda melhor como trabalha essa instrução.

    Qualquer coisa dê um grito aqui.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    adriano944
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 187
    Registrado : 10/02/2010

    Re: Enviar e-mail pelo access

    Mensagem  adriano944 em Seg 01 Mar 2010, 18:12

    Como eu faço para enviar toda a tabela no corpo do email?

    Gilberto Rocha
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1022
    Registrado : 21/01/2010

    Re: Enviar e-mail pelo access

    Mensagem  Gilberto Rocha em Ter 02 Mar 2010, 18:16

    Olá amigo, eu não testei, mas creio que seja assim

    .body = [Campo1] _
    & vbCrLf & [Campo2] _
    & vbCrLf & [Campo3] _
    & vbCrLf & [Campo4]

    dico2212
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 22/06/2015

    Ajuda

    Mensagem  dico2212 em Qua 15 Jul 2015, 10:41

    bom dia pessoal do forum!

    li este tópico e achei interessante a aplicação para envio de e-mail.
    estou precisando de uma rotina que envie um e-mail para determinado grupo de pessoas após salvar um novo registro.
    de antemão informo que não manjo muito de access e muito menos programação em VBA, embora tenha criado um BD até que bacaninha aqui.
    alguém poderia me passar um exemplo desta rotina de envio de e-mail ou me ajudar a implementar no meu BD?

    desde ja agradeço muitíssimo a ajuda!
    estou realmente precisando desta função no meu BD

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: Enviar e-mail pelo access

    Mensagem  JPaulo em Qui 16 Jul 2015, 11:17

    Dê uma pesquisada na sala de exemplos, existe lá muita coisa boa.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    EuLuis
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 29/09/2014

    Código para enviar o último registro de uma tabela do Access no corpo do email

    Mensagem  EuLuis em Sab 18 Jul 2015, 01:53

    Prezados,

    Tive o mesmo problema de conseguir enviar dados de uma tabela do Access direto para o corpo de email do Outlook.
    Quem ia receber os emails, normalmente não tinha tempo de ficar abrindo anexos de qualquer tipo.
    Depois de muito pesquisar, achei este código abaixo (não lembro do autor) e com a ajuda do meu filho, ele melhorou o código e o adaptou ao que precisava.
    Quanto ao meu filho, agradeci muito. Quanto ao autor do código do qual não estou lembrando o nome, se for alguém do fórum, peço que agradeçam por mim.

    Abraços e parabéns pelo fórum.


    Segue o código, espero que possa ajudar:

    ------------------------------------------------------- O CÓDIGO ABAIXO VAI TODO EM UM BOTÃO NO FORMULÁRIO DO ACCESS

    Private Sub SalvarEnviarEmail_Click()

       DoCmd.GotoRecord , "", acNewRec
       Call Envia_Email
       
    End Sub

    ---------------------------------------------------------

    Sub Envia_Email()

       Dim V_Texto As String
       Dim rs As Recordset
       
       Set rs = CurrentDb.OpenRecordset("Select Last(Código) As UltimoCódigo, Last(Agência As UltimaAgência, Last(Conta) As UltimaConta, Last(Cheque)As UltimoCheque, Last(Valor) As UltimoValor, Last(Motivo) As UltimoMotivo from tblCheque")
       
       Set OutApp = CreateObject("Outlook.Application")
       OutApp.Session.Logon
       Set OutMail = OutApp.CreateItem(0)
       
       If Time() < "12:00" Then
       
           sSaudacao = "<span style='font-family:""Century Gothic"",""sans-serif"";color:#000000;'>Bom dia,</span><br/></br>"
       
       ElseIf Time() < "18:00" Then
       
           sSaudacao = "<span style='font-family:""Century Gothic"",""sans-serif"";color:#000000;'>Bom tarde,</span><br/></br>"
           
       Else
       
           sSaudacao = "<span style='font-family:""Century Gothic"",""sans-serif"";color:#000000;'>Bom noite,</span><br/></br><br/></br>"
           
       End If
       
       V_Texto = sSaudacao & _
       "<span style='font=family:""Century Gothic"",""sans-serif"";color:#000000;'> Solicitamos a confirmação do cheque abaixo. </span></br></br>" & _
       "<span style='font=family:""Century Gothic"",""sans-serif"";color:#000000;'> Agência: " & _
       "<b>" & rs!UltimaAgência & "</b><br/>" & _
       "Conta: " & _
       "<b>" & rs!UltimaConta & "</b><br/>" & _
       "Cheque: " & _
       "<b>" & rs!UltimoCheque & "</b><br/>" & _
       "Valor: " & _
       "<b>" & rs!UltimoValor & "</b><br/>" & _ "</b></br><br/>" & _
       "<span style='font=family:""Century Gothic"",""sans-serif"";color:#000000;'> O cheque foi devolvido pelo motivo. </span>"  & _
       "<span style='font=family:""Century Gothic"",""sans-serif"";color:#FF0000;'><b>" & rs!UltimoMotivo & "</b></span>" & _
       " - Ou enviar email para <a href=""mailto:Quebra Galho"">Quebra Galho</a> até 12:00hs<br/><br/>" & _

       With OutMail
           .Subject = "Confirmar emissão de Cheque"
           .CC = "Central Quebra Galho"
           .HTMLBody = V_Texto
           .display
       End With
           
    End Sub

    Luciclaudio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 04/05/2016

    Enviar e-mail pelo ACCESS 2007

    Mensagem  Luciclaudio em Qua 04 Maio 2016, 04:37

    Galera,
    Tenho uma tabela com os seguintes campos no access
    para, assunto, corpo_email e obs.
    queria ajuda com uma macro para realizar envios de e-mail linha a linha (cada um registro em uma e-mail separado) onde utilizasse os campos da tabela como referência para enviar os e-mail.

    Tenho esse código abaixo, mas o mesmo envia o "para" tudo junto, queria um e-mail para cada linha e que utilizasse os campos da tabela como assunto e os demais campos no corpo do e-mail.
    Gostaria de uma adaptação onde pudesse escolher o opção (Send ou Display)

    Private Sub SeuBotao_Click()
    Dim rst As DAO.Recordset
    Dim strDestinatarios
    Dim strTitulo
    Dim strMensagemCorpoDoEmail

    Set rst = CurrentDb.OpenRecordset("SuaTabela ou SuaConsulta")

    Do Until rst.EOF
    strDestinatarios = strDestinatarios & rst("CampoEmailDestino") & ";"
    rst.MoveNext
    Loop

    strDestinatarios = Left(strDestinatarios, Len(strDestinatarios) - 1)
    strTitulo = "teste"
    strMensagemCorpoDoEmail = "Obrigado"

    On Error Resume Next
    DoCmd.SendObject , , , strDestinatarios, _
    , , strTitulo, strMensagemCorpoDoEmail, True, False

    rst.Close
    Set rst = Nothing
    End Sub


    Última edição por Luciclaudio em Qua 04 Maio 2016, 04:40, editado 1 vez(es) (Razão : Melhorar código)

      Data/hora atual: Dom 04 Dez 2016, 14:15