MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Como enviar e-mail ao salvar registro em formulario

    Compartilhe

    barroso
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 17/08/2017

    Como enviar e-mail ao salvar registro em formulario

    Mensagem  barroso em Seg 21 Ago 2017, 03:29

    Fala galera, boa noite,

    Queria enviar um e-mail de confirmacao com o outlook para meus clientes quando eu adiciona-los a minha base de dados.
    o código que eu uso para salvar meu formulario é:

    Private Sub BT_salvar_formato_pago_BR_Click()
    DoCmd.RunCommand acCmdSaveRecord
       Call Habilitarbotoes2
       Me.BT_salvar_formato_pago_BR.Enabled = True
    End Sub

    Queria usar o campo e_mail_BR que esta presente no mesmo formulario como destino do e-mail de confirmacao de recebimento de dados. No e-mail queria usar o campo nome_BR (presente no mesmo formulario) para completar o campo do nome no corpo do e-mail e o prazo "prazo_BR" que esta em outra base de dados "DB_incentivos_BR" ja definindo um corpo da mensagem e enviando aumaticamente.

    Sou iniciante no access e em VBA.

    Alguma ideia para eu comecar a fazer essa funcao?

    Desde já agradeço! afro
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1043
    Registrado : 05/02/2010

    Como enviar e-mail ao salvar registro em formulario

    Mensagem  good guy em Seg 21 Ago 2017, 15:19

    Olá Barroso,

    Me baseando aqui:

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

    Adicione a seguinte referência pela IDE na sua barra de ferramentas:

    Microsoft CDO for Windows 2000 Library

    Preparei o seguinte código:

    Código:

    Private Sub cmdEnviar_Click()
    Call EnviaSimplesCDOMail
    End Sub

    Public Sub EnviaSimplesCDOMail()
    On Error GoTo TrataErro
        Dim mail    As CDO.MESSAGE
        Dim config  As CDO.Configuration
        Dim strDestinatario, strRemetente, strAssunto, strCorpo As String
        
        strRemetente = Me.Email                                     'Campo do seu email pelo formulário
        strDestinatario = Me.DestinatarioEmail                  'Campo do email do destinatário pelo formulário
        strAssunto = Me.Assunto
        strCorpo = Me.Corpo
        
        Set mail = CreateObject("CDO.Message")
        Set config = CreateObject("CDO.Configuration")
        
        config.Fields(cdoSendUsingMethod).Value = cdoSendUsingPort
        config.Fields(cdoSMTPServer).Value = "mail.mycompany.invalid"
        config.Fields(cdoSMTPServerPort).Value = 25
        config.Fields.Update
        
        Set mail.Configuration = config
        
        With mail
            .To = strDestinario
            .From = strRemetente
            .Subject = strAssunto
            .TextBody = strCorpo
            
            '.AddAttachment "C:\path\to\a\file.dat"  'Aqui você coloca o caminho do seu arquivo para anexar.Desativei com um apóstrofo
            
            .Send
        End With
        
        Set config = Nothing
        Set mail = Nothing
        Exit Sub
    TrataErro:
        MsgBox Err.Description, vbCritical, "Possível causa do erro"
        
    End Sub

    barroso
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 17/08/2017

    Re: Como enviar e-mail ao salvar registro em formulario

    Mensagem  barroso em Qua 23 Ago 2017, 01:58

    Boa noite good guy, obrigado por sua rapida resposta e seu tempo. Nao sei se é bem o codigo que necessito, necessito que ao salvar meu formulario que adiciona os dados a tabela(db_clientes) ele envie para meu cliente um email de confirmacao de recebimento de dados. E o e-mail do remetente vai estar em uma tabela diferente da do formulario vai estar em um campo em(db_usuarios) que é atual usuario logado,  O destinatario esta presente no formulario, o nome do destinatario esta presente no formulario, é possivel que o nome estivesse no corpo do e-mail, junto com o prazo de pagamento presente em um campo em outra tabela (db_pagamentos)? Nao sei se fui claro.

    Obrigado pela força.

    cheers
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1043
    Registrado : 05/02/2010

    Como enviar e-mail ao salvar registro em formulario

    Mensagem  good guy em Qua 23 Ago 2017, 15:11

    Olá barroso,

    Para pesquisar o e-mail do remetente na tabela você tem que utilizar a função Dlookup.


    Código:


    ......
    Dim strNome As String
    dim intCod As Integer

    intCod = Nz(Dlookup("Codigo","db_Usuarios","Login = '" & Me.Login & "'"))
    strNome = Nz(Dlookup("Nome","db_Usuarios","Codigo = " & intCod))
    strRemetente = Nz(Dlookup("email","NomedeSuaTabela","Nome =  '" & strNome & "'"))

    ......


    barroso
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 17/08/2017

    Re: Como enviar e-mail ao salvar registro em formulario

    Mensagem  barroso em Sex 25 Ago 2017, 03:04

    Ola good guys, boa noite obrigado pela resposta.

    E para encontrar o resultado que eu espero como eu adequaria esta funcao ao codigo que voce me indicou anteriormente?

    Me poderia explicar melhor esta linha:

    intCod = Nz(Dlookup("Codigo","db_Usuarios","Login = '" & Me.Login & "'"))
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1043
    Registrado : 05/02/2010

    Como enviar e-mail ao salvar registro em formulario

    Mensagem  good guy em Sex 25 Ago 2017, 14:05

    Olá barroso,

    intCod = Nz(Dlookup("Codigo","db_Usuarios","Login = '" & Me.Login & "'"))

    Me.Login = É o login do usuário ao digitar no campo Login do formulário.
    Código = É o código do usuário na tabela db_Usuarios.
    intCod = É a variável referente ao código acima para ser usada para encontrar o nome do usuário nessa mesma tabela pela variável strNome.

    barroso
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 17/08/2017

    Re: Como enviar e-mail ao salvar registro em formulario

    Mensagem  barroso em Sab 26 Ago 2017, 19:47

    Boa tarde good guy, obrigado pela explicacao da linha, agora nao entendi como aplicar esta funcao ao codigo que anteriormente voce havia mencionado.

    barroso
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 17/08/2017

    Re: Como enviar e-mail ao salvar registro em formulario

    Mensagem  barroso em Dom 10 Set 2017, 22:31

    Alguma ajuda para esta ideia?

    bounce
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1043
    Registrado : 05/02/2010

    Como enviar e-mail ao salvar registro em formulario

    Mensagem  good guy em Seg 11 Set 2017, 14:00

    Olá barroso,

    Posta então o bd para sabermos o que pode estar errado.

      Data/hora atual: Ter 21 Nov 2017, 20:52