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


2 participantes

    [Resolvido]Mandar email buscando de uma tabela

    avatar
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Mandar email buscando de uma tabela Empty [Resolvido]Mandar email buscando de uma tabela

    Mensagem  AJM 13/5/2014, 05:26

    Olá

    Nao estou conseguindo funcionar o envio de emails buscando de uma tabela
    Se alguem puder me ajudar
    o campo Ender contem os enderecos de emails
    Atentem para rs!Ender, pois esta dizendo q nao foi declarado e trazendo zerado


    Segue o codigo

    Function EnviarEmail()

    On Error GoTo erromail

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


    With Config

    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.live.com"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    .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") = "XXXXX@hotmail.com"
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "ZZZZ"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

    .Fields.Update
    End With

    Set Mens = New CDO.Message
    With Mens
    Set .Configuration = Config
    .From = "ANDRE " 'quem envia


    .Sender = "andre@hotmail.com" 'email de quem envia

    .Subject = "Teste envio email" 'Assunto
    .HTMLBody = "Testando email" 'Mensagem a ser enviada

    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes")
    rs.MoveFirst
    Do While Not rs.EOF
    varEmail = rs!Ender
    Call EnviarEmail
    rs.MoveNext
    Loop

    rs.Close
    Set rs = Nothing

    .To = "varEmail" '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 Function

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





    End Function
    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]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  Alexandre Neves 13/5/2014, 19:00

    Boa tarde,
    tem de criar o ciclo de percorrer a tabela de endereços e, dentro deste ciclo, enviar mensagem
    sub EnviarEmail()

    On Error GoTo erromail

    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.live.com"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    .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") = "XXXXX@hotmail.com"
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "ZZZZ"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

    .Fields.Update
    End With

    Set Mens = New CDO.Message
    With Mens
    Set .Configuration = Config
    .From = "ANDRE " 'quem envia


    .Sender = "andre@hotmail.com" 'email de quem envia

    .Subject = "Teste envio email" 'Assunto
    .HTMLBody = "Testando email" 'Mensagem a ser enviada

    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes")
    rs.MoveFirst
    Do While Not rs.EOF
    .To rs!Ender
    .Send ' envia
    rs.MoveNext
    Loop

    rs.Close
    Set rs = Nothing
    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
    End sub


    .................................................................................
    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
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  AJM 14/5/2014, 00:59

    Olá Alexandre

    Muito Obrigado, vc é o cara amigo...

    Executei o código e deu a mensagem

    438 não aceita esta propriedade ou método

    Usei uma variável ai funcionou

    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes")
    Dim EndMail As Variant
    Set EndMail = rs!Ender

    rs.MoveFirst
    Do While Not rs.EOF
    .To = EndMail
    .Send ' envia
    rs.MoveNext
    Loop
    avatar
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  AJM 14/5/2014, 02:17

    Agora minha duvida é a seguinte:

    gostaria do Where no recordset  campo DT_Nasc = ao campo 228 do formulário aberto
    ou seja, quero mandar email pra quem está de aniversário,  com dia e mes igual ao form


    Fiz ensaio assim, porem nao funcionou
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes WHERE DT_Nasc = [Forms]![Detalhes do Estudante]![Texto228]")
    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]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  Alexandre Neves 14/5/2014, 22:05

    Boa noite,
    Utilize, se Dt_Nasc estiver como texto
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes WHERE DT_Nasc='" & [Forms]![Detalhes do Estudante]![Texto228] &"'")


    .................................................................................
    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
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  AJM 16/5/2014, 01:57

    Funcionou desta maneira

    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes where Ender is Not null And DT_Nasc = #" & Format(Me!Texto228, "mm/dd/yyyy") & "#")



    Gostaria de fazer o select pegando dia/mes do campo DT_Nasc = dia/mes do campo do formulario

    Podem me ajudar por favor?
    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]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  Alexandre Neves 16/5/2014, 09:44

    Bom dia,
    Onde quer utilizar? Nos campos devolvidos ou no critério?
    Utilize a função Format(DT_Nasc,'dd-mm')

    Não utilize "is Not null", utilize " Not IsNull":
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes where Not IsNull(Ender) And DT_Nasc = #" & Format(Me!Texto228, "mm/dd/yyyy") & "#")


    .................................................................................
    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
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  AJM 17/5/2014, 00:47


    Preciso que no select do recordset, traga os aniversariantes

    Exemplo:

    DT_Nasc = 10/05/1980 (campo data)
    Texto228 do formulário = 10/05/2014

    Tem que retornar os registros pois coincide 10/05 de DT_Nasc com 10/05 informado no formulário
    como faço isso ? o rs abaixo esta funcionando, porem quero que compara apenas dd/mm

    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes where Ender is Not null And DT_Nasc = #" & Format(Me!Texto228, "mm/dd/yyyy") & "#")

    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]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  Alexandre Neves 17/5/2014, 10:26

    Bom dia,
    Utilize
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes where Not IsNull(Ender) And Format(DT_Nasc,'dd-mm')='" & Format(Me!Texto228, "dd-mm") &"'")


    .................................................................................
    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
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  AJM 17/5/2014, 17:34

    erro

    13 tipos incompativeis
    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]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  Alexandre Neves 18/5/2014, 13:23

    Boa tarde,
    Experimente
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes where Not IsNull(Ender) And Format(DT_Nasc,'dd-mm')=" & Format(Me!Texto228, "dd-mm"))
    e
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes where Not IsNull(Ender) And Format(DT_Nasc,'dd-mm')=#" & Format(Me!Texto228, "dd-mm") &"#")


    .................................................................................
    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
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  AJM 18/5/2014, 22:42

    Boa Noite

    Nao funcionou

    nao estou conseguindo anexar o banco pra vc ver


    Última edição por AJM em 20/5/2014, 01:31, editado 1 vez(es)
    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]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  Alexandre Neves 19/5/2014, 08:36

    Bom dia,
    Pelas regras do fórum, o correio electrónico não deve ser utilizado
    Se não consegue anexar, aconselho a criar conta, no dropbox por exemplo, e carregar o ficheiro e indicar o endereço


    .................................................................................
    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
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Mandar email buscando de uma tabela Empty Compara datas

    Mensagem  AJM 20/5/2014, 02:07

    segue BD

    No formulario detalhes do estudante
    Botao comand
    Anexos
    [Resolvido]Mandar email buscando de uma tabela AttachmentAp.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (459 Kb) Baixado 28 vez(es)
    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]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  Alexandre Neves 21/5/2014, 16:58

    Boa tarde,
    Utilize
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes where Not IsNull(Ender) And Format(DT_Nasc,'dd-mm')='" & Format(Me!Texto228, "dd-mm") & "'")


    .................................................................................
    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
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  AJM 22/5/2014, 02:51

    Ola Alexandre

    Obrigado amigo, agora funcionou as datas, porém esbarrei em outro probleminha, estou implementando na base real e está dando um erro de compilação, acredito que é porque meu campo do email tem espaços, como devo proceder?

    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes where Not IsNull (Endereço de Email) And Format(DT_Nasc,'dd-mm')='" & Format(Me!Texto228, "dd-mm") & "'")


    Dim EndMail As Variant
    Set EndMail = rs!Endereço de Email

    rs.MoveFirst
    Do While Not rs.EOF
    .To = EndMail
    .Send ' envia
    rs.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]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  Alexandre Neves 22/5/2014, 20:18

    Boa noite,
    É um dos conselhos que sempre damos: nomes sem espaços nem caracteres especiais
    Utilize
    Set rs = CurrentDb.OpenRecordset("Select * From Estudantes where Not IsNull([Endereço de Email]) And Format(DT_Nasc,'dd-mm')='" & Format(Me!Texto228, "dd-mm") & "'")


    .................................................................................
    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
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Mandar email buscando de uma tabela Empty Resolvido

    Mensagem  AJM 23/5/2014, 15:57

    Boa tarde Alexandre

    Muito obrigado
    Está funcionando perfeitamente graças a sua ajuda.

    Um abraço

    André


    Conteúdo patrocinado


    [Resolvido]Mandar email buscando de uma tabela Empty Re: [Resolvido]Mandar email buscando de uma tabela

    Mensagem  Conteúdo patrocinado


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