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]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Empty [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    Mensagem  mfmaiafilho 7/2/2021, 10:52

    Tenho um form, que tem um botão enviar email, porém estava dando muitos problemas com um campo "E-mail" pq não sabiamos de quem era o email etc..

    o que eu fiz, criei uma tabela tbl_clientes_contatos com uma chave estrangeira chamada parceiros que liga na tbl_clientes pra cada contato fazer referencia a uma chave primaria na tbl_clientes. até aí tudo bem,

    era muito facil no Form Frm_Cartas_Alt colocar neste codigo abaixo objMail.To = (Me!Email) porém, eu preciso tá pegando os emails que estão lá e que estão marcados como "enviarcartas = true" porém eu até consigo com CurrentDb.Execute

    o que eu não consigo é puxar o que está somente marcado como enviarcartas = true e também não consigo fazer um montante

    tipo email1@email1.com.br; email2@email2.com.br; email3@email3.com.br

    pra colocar no outlook dessa forma, o que acontece ele sempre puxa o ultimo email da tbl_clientes_contatos.

    Dim strArquivo  As String
    Dim strLocal    As String
    Dim objOut      As Object
    Dim objMail     As Object
    Dim objAnexo    As Object
    Dim objTo       As Object
    Const olMailItem = 0
    Const olByValue = 1
    Set objOut = CreateObject("Outlook.application")
    Set objMail = objOut.CreateItem(olMailItem)
    Set objAnexo = objMail.Attachments

    'If IsNull(Me!email) Then
    '    MsgBox "O campo Email deve ser preenchindo.", vbCritical, "PriceLetters"
    '    Me.email.SetFocus
    '    Exit Sub
    If IsNull(Me!AssuntoEmail) Then
       MsgBox "O campo Assunto deve ser preenchido.", vbCritical, "PriceLetters"
       Me.AssuntoEmail.SetFocus
       Exit Sub
    ElseIf IsNull(Me!CorpoEmail) Then
       MsgBox "O campo Corpo do E-mail deve ser selecionado.", vbCritical, "Price Letter"
       Me.CorpoEmail.SetFocus
       Me.CorpoEmail.Dropdown
       Exit Sub
    End If
               Dim rs As DAO.Recordset
               Me.Refresh
               Set rs = CurrentDb.OpenRecordset("TBL_CLIENTES_CONTATOS")
               rs.MoveFirst
               Do While Not rs.EOF
               CurrentDb.Execute "UPDATE TBL_CLIENTES SET Email = '" & rs!Email & "' WHERE Codigo = " & rs!parceiro, rs!enviarcartas = True & ";"
               rs.MoveNext
               Loop
               rs.Close
               Set rs = Nothing
               
    objMail.To = (Me!Email)
    objMail.Subject = (Me!AssuntoEmail)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Empty Re: [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    Mensagem  Alexandre Neves 9/2/2021, 14:08

    Boa tarde
    Tente
    Dim objOut As Object, objMail As Object, objAnexo As Object, rs As DAO.Recordset, strEnderecos As String
    Const olMailItem = 0
    Const olByValue = 1
    Set objOut = CreateObject("Outlook.application")
    Set objMail = objOut.CreateItem(olMailItem)
    Set objAnexo = objMail.Attachments

    'If IsNull(Me!email) Then
    ' MsgBox "O campo Email deve ser preenchindo.", vbCritical, "PriceLetters"
    ' Me.email.SetFocus
    ' Exit Sub
    If IsNull(Me!AssuntoEmail) Then
    MsgBox "O campo Assunto deve ser preenchido.", vbCritical, "PriceLetters"
    Me.AssuntoEmail.SetFocus
    Exit Sub
    ElseIf IsNull(Me!CorpoEmail) Then
    MsgBox "O campo Corpo do E-mail deve ser selecionado.", vbCritical, "Price Letter"
    Me.CorpoEmail.SetFocus
    Me.CorpoEmail.Dropdown
    Exit Sub
    End If
    Me.Refresh
    Set rs = CurrentDb.OpenRecordset("TBL_CLIENTES_CONTATOS WHERE EnviarCartas")
    Do While Not rs.EOF
    strEnderecos = strEnderecos & "," & rs!Email
    rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    objMail.To = (Mid(strEnderecos, 2))
    objMail.Subject = (Me!AssuntoEmail)


    .................................................................................
    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
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Empty Re: [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    Mensagem  mfmaiafilho 28/2/2021, 18:32

    Oi Alexandre, a linha que está dando erro é onde ele faz o WHERE para buscar...

    na realidade, dentro da TBL_CLIENTES_CONTATO, tem um campo chamado Parceiro, que corresponde a quem enviar, no caso TBL_CLIENTES e outro campo enviarcartas = true é somente os emails que estão configurados pra enviar cartas...

    Dim objOut As Object, objMail As Object, objAnexo As Object, rs As DAO.Recordset, strEnderecos As String
    Const olMailItem = 0
    Const olByValue = 1
    Set objOut = CreateObject("Outlook.application")
    Set objMail = objOut.CreateItem(olMailItem)
    Set objAnexo = objMail.Attachments

    'If IsNull(Me!email) Then
    ' MsgBox "O campo Email deve ser preenchindo.", vbCritical, "PriceLetters"
    ' Me.email.SetFocus
    ' Exit Sub
    If IsNull(Me!AssuntoEmail) Then
    MsgBox "O campo Assunto deve ser preenchido.", vbCritical, "PriceLetters"
    Me.AssuntoEmail.SetFocus
    Exit Sub
    ElseIf IsNull(Me!CorpoEmail) Then
    MsgBox "O campo Corpo do E-mail deve ser selecionado.", vbCritical, "Price Letter"
    Me.CorpoEmail.SetFocus
    Me.CorpoEmail.Dropdown
    Exit Sub
    End If
    Me.Refresh
    Set rs = CurrentDb.OpenRecordset("TBL_CLIENTES_CONTATOS WHERE EnviarCartas")
    Do While Not rs.EOF
    strEnderecos = strEnderecos & "," & rs!Email
    rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    objMail.To = (Mid(strEnderecos, 2))
    objMail.Subject = (Me!AssuntoEmail)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Empty Re: [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    Mensagem  Alexandre Neves 1/3/2021, 07:17

    Bom dia
    Será
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM TBL_CLIENTES_CONTATOS WHERE EnviarCartas")


    .................................................................................
    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
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Empty Re: [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    Mensagem  mfmaiafilho 1/3/2021, 08:26

    Bom dia !

    eu consegui fazer um Select para buscar o parceiro, porém não consigo implantar pra ele buscar somente os enviarcartas = true, desativado = false no SELECT.

    aí está o projeto...
    Anexos
    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Attachmentenviarcartas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (934 Kb) Baixado 17 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Empty Re: [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    Mensagem  Alexandre Neves 1/3/2021, 08:43

    Tem de explicar onde está o problema


    .................................................................................
    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
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Empty Re: [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    Mensagem  mfmaiafilho 1/3/2021, 08:55

    em Frm_Cartas_Alt, Botão Btn_Enviar_Click()

    o problema está na linha do SELECT,

    eu preciso buscar na tabela tbl_parceiros_contatos o email somente quando ele estiver enviarcartas = marcado como true e desativar marcado como false.

    é isso porém não consigo fazer esse SELECT

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Select10
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Empty Re: [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    Mensagem  Alexandre Neves 1/3/2021, 13:57

    Ao filtrar pelo parceiro acrescenta o filtro de EnviarCartas
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbl_parceiros_contatos WHERE parceiro =" & Me.parceiro & " and EnviarCartas")


    .................................................................................
    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
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Empty Re: [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    Mensagem  mfmaiafilho 1/3/2021, 15:13

    uhuuu resolvido!!!!


    Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbl_parceiros_contatos WHERE parceiro =" & Me.parceiro & " and EnviarCartas = True AND desativar = False")

    Obrigado Alexandre, agora eu ainda consegui colocar para pegar o Enviar cartas = True e Desativar = False

    =)
    cheers cheers cheers cheers cheers cheers cheers
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook Empty Re: [Resolvido]Como pegar contatos no comando enviar via SQL para enviar ao outlook

    Mensagem  Alexandre Neves 1/3/2021, 15:40

    Sendo EnviarCartas um valor booleano, EnviarCartas é igual a EnviarCartas=True na expressão, assim como Desativar=False é o mesmo que Not Desativar


    .................................................................................
    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

    mfmaiafilho gosta desta mensagem


      Data/hora atual: 20/9/2021, 20:50