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]Aniversários

    videosom3d
    videosom3d
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 81
    Registrado : 06/12/2011

    [Resolvido]Aniversários Empty Aniversários

    Mensagem  videosom3d 15/12/2011, 22:56

    Gostava de saber se é possivel que o access envie um email no dia do aniversário (Data) do cliente em causa.
    Obrigado
    Gilberto Rocha
    Gilberto Rocha
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Aniversários Empty Re: [Resolvido]Aniversários

    Mensagem  Gilberto Rocha 15/12/2011, 23:39

    É possível claro, basta comparar a data atual com as datas de nascimento dos clientes, caso sejam iguais, envia o email.
    Apenas se preocupe em não enviar mais de uma vez.
    videosom3d
    videosom3d
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 81
    Registrado : 06/12/2011

    [Resolvido]Aniversários Empty Re: [Resolvido]Aniversários

    Mensagem  videosom3d 16/12/2011, 11:28

    E é automático e como se faz isso?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Aniversários Empty Re: [Resolvido]Aniversários

    Mensagem  criquio 16/12/2011, 11:53

    Você pode usar o cdo para enviar o email. E no campo email, basta configurar para enviar para o(s) email(s) do(s) contato(s) cuja data de aniversário seja a data atual. Você irá precisar de um campo na tabela para marcar que o email já foi enviado, senão ficará enviando email toda hora que o aplicativo for aberto no dia.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    videosom3d
    videosom3d
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 81
    Registrado : 06/12/2011

    [Resolvido]Aniversários Empty Re: [Resolvido]Aniversários

    Mensagem  videosom3d 16/12/2011, 12:09

    Não há um exemplo para ver como é ou explicar por poucas palavras como se faz?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Aniversários Empty Re: [Resolvido]Aniversários

    Mensagem  criquio 16/12/2011, 12:30

    Aqui tem um exemplo de aplicativo que envia email: http://maximoaccess.forumeiros.com/t1103-registro-de-aplicativos-por-email

    A função responsável por enviar o email é:

    Sub EnviarEmail()

    On Error GoTo errormail

    Dim Mens As Object
    Dim Config As Object
    Set Mens = CreateObject("CDO.Message")
    Set Config = CreateObject("CDO.Configuration")

    With Config

    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "ccsregistros@gmail.com"
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senhadoemail"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

    .Fields.Update
    End With

    Set Mens = New CDO.Message
    With Mens
    Set .Configuration = Config
    .From = "CCS Sistemas - Registro de softwares" 'quem envia

    If Not IsNull(Me.txtEmail) Then
    .Sender = Me.txtEmail 'email de quem envia
    End If

    .Subject = "Registro de software" 'Assunto
    .HTMLBody = "Mensagem" 'Mensagem a ser enviada
    .To = "email@provedor.com" 'email de destino

    .Send ' envia
    End With
    MsgBox "Mensagem enviada com sucesso." & vbCrLf & vbCrLf & "A CCS Sistemas agradece pela confiança.", vbOKOnly, "Dados enviados"

    Set Mens = Nothing
    Set Config = Nothing
    Exit Sub

    erromail:
    If Err.Number <> 0 Then
    MsgBox Err.Number & " " & Err.Description
    End If

    Set Mens = Nothing
    Set Config = Nothing
    Exit Sub

    End Sub


    Para enviar para mais de uma pessoa e pegando de uma tabela, você pode colocar colocar uma variável para capturar o email via Recordset, em um Loop, e ir colocando na variável. A função vai sendo executa a cada email encontrado. Supondo que a variável se chama varEmail, teríamos algo como:

    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM NomeDaTabela WHERE NomeCampoData=#" & Format(Now, "mm/dd/yyyy") & "#"")

    Do While Not rs.EOF
    varEmail = rs!Email
    Call EnviarEmail
    rs.MoveNext
    Loop

    rs.Close
    Set rs = Nothing


    Aonde tem .To = "email@provedor.com" na função de enviar o email, você coloca o nome da variável:

    .To = varEmail

    A variável varEmail deve ser declarada no escopo do módulo do formulário, ou seja, ela deve ser uma das primeiras linhas do módulo:

    Option Compare Database
    Option Explicit
    Dim varFile As String


    Aqui tem um artigo com tudo que você precisa para entender o funcionamento e a configuração do cdo.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    videosom3d
    videosom3d
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 81
    Registrado : 06/12/2011

    [Resolvido]Aniversários Empty Re: [Resolvido]Aniversários

    Mensagem  videosom3d 16/12/2011, 12:45

    Obrigado aos que ajudaram.

    Conteúdo patrocinado


    [Resolvido]Aniversários Empty Re: [Resolvido]Aniversários

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 15:28