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]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    avatar
    Fernando Colombini
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 23/06/2011

    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Fernando Colombini 23/6/2011, 20:14

    Pessoal, agradeço pela oportunidade de fazer parte deste fórum.
    Sou novo em programação, iniciei um estudo sobre orientação a objetos faz mais ou menos 1 ano, portanto, não sei nada.
    Com Access, tenho um pouco de conhecimento, mais ou menos 5 anos.
    Vejam se podem me ajudar, já procurei bastante algo específico, mas não encontrei. Utilizo o Access 2007 o que permite fazer filtros por consulta. Pois bem, estou fazendo um sistema simples de cadastro de clientes. Tenho um Formulário que contém um botão com um subformulário (modo folha de dados) que contém a lista de clientes, com base na tabela de clientes, com várias colunas entre elas a de e-mail. A intenção é filtrar os clientes (isso a própria consulta permite) e após o filtro, quando clicar no botão que esta no formulário ele abrir o Outlook, e inserir os e-mails selecionados no campo Cco. Isso eu consegui fazendo com todos os clientes que estão na tabela mas não consegui com os que foram filtrados, ou seja, os que estão na tela. O código abaixo, desculpem a repetição, e já agradecendo, copiei do JPaulo.
    Resolvi em parte utilizando o código abaixo e fazendo algumas consultas fixas, ex. Consulta de clientes ativos, mas gostaria de saber se há uma forma de enviar os e-mails selecionados a partir do próprio formulário/ Subformulário filtrado, quando eu clicar no botão

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

    Set rst = CurrentDb.OpenRecordset("Consulta de clientes")

    Do Until rst.EOF
    strDestinatarios = strDestinatarios & rst("CampoEmailDestinoDaTabela") & ";"
    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
    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]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  criquio 23/6/2011, 20:37

    Você pode enviar via cdo. É preciso ter a dll cdosys registrada. Veja nesse exemplo, aonde tem a dll caso necessite registrá-la:

    http://maximoaccess.forumeiros.com/t1103-registro-de-aplicativos-por-email


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

    avatar
    Fernando Colombini
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 23/06/2011

    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Fernando Colombini 23/6/2011, 23:32

    Olá Criquio!

    Muito obrigado pelo rápido retorno, eu já havia visualizado o seu sistema, um dos estímulos para participar deste forum, achei muito legal inclusive peço permissão para utilizar o código da barra de progresso. Ainda tenho pouco conhecimento, apesar de ter entendido a sua sugestão, não sei como adaptar ao meu sistema, ou seja, não faço idéia de como ficaria a linha de comando para ativar esse recurso. Grato.
    avatar
    Convidado
    Convidado


    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Convidado 24/6/2011, 00:41

    eu uso o modelo do Amigo Criquio...

    e nele onde fica o destinatário voce pode conseguir isso com uma variável no lugar do destinarário..

    Ou seja...

    ao filtrar o cliente...

    Voce joga o campo do e-mail em uma Variável...
    e aplica essa variável no local do endereço...


    Seria algo como:

    BotãoEnvioClick ()
    Dim StrEmail As String

    StrEmail = Me.NomeCampo.Value

    '*************No Código do Emvio
    .To = "StrrEmail"




    Creio que consegue por ai........
    avatar
    Fernando Colombini
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 23/06/2011

    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Fernando Colombini 24/6/2011, 02:36

    Olá Harysohn!

    O problema é que são vários e-mails filtrados que quero enviar. Precisaria de algo que (na linha de código abaixo) indicasse o caminho da consulta que está no subformulário ativo. O código que postei acima está funcionando, mas, com tabelas e consultas que estão fora do formulário. O objetivo seria um botão no formulário que pegasse a consulta no subformulário filtrado. O sistema só precisaria desse formulário para mandar qualquer e-mail.

    Sei que está errado, mas, seria algo parecido com isso (formulário principal(F_Email)e Subformulário(SF_Email))

    Set rst = CurrentDb.OpenRecordset("Forms![F_Email]Form![SF_Email]")

    Grato.
    avatar
    Convidado
    Convidado


    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Convidado 24/6/2011, 03:00

    Amigão.. para mim esta dificil a compreensão...

    Caso queira post o BD aqui que não apaenas eu mas outros colegas poderão lhe auxiliar..

    QUalquer coisa Me envie que posto aqui.

    Harysohn@hotmail.com

    Saudações
    avatar
    Fernando Colombini
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 23/06/2011

    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Fernando Colombini 24/6/2011, 16:32

    Segue arquivo. Para funcionar esse código, no Visual Basic tive que acrescentar a Referência Microsoft Outlook 12.0 Object Library.
    Grato,
    avatar
    Convidado
    Convidado


    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Convidado 24/6/2011, 17:20

    Não veio nada Amigao!
    avatar
    Convidado
    Convidado


    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Convidado 24/6/2011, 17:37

    o BD colega

    http://dl.dropbox.com/u/26441349/FerandoColombini.zip
    avatar
    Convidado
    Convidado


    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Convidado 26/6/2011, 18:24

    Amigão.. eis sua solução

    1 - Transforme o campo onde grava os e-mails (e-Mail empresa) em Campo TEXTO
    O hiperlink não serve nesse caso pois ele o representa como e-mail#mailto#email
    2 - as linhas no código estavam organizadas de maneira incorreta..
    3 - Havia falta de variáveis..

    Estude o que Fiz..

    Private Sub Comando2_Click()
    Dim rst As DAO.Recordset
    Dim strDestinatarios
    Dim strTitulo
    Dim strMensagemCorpoDoEmail
    Dim strEnderecos As String
    Dim stremail
    Dim StrEnvio

    strEnderecos = "SELECT [Tb_Cadastro Clientes].[E-mail empresa] FROM [Tb_Cadastro Clientes]"

    Set rst = CurrentDb.OpenRecordset(strEnderecos)

    Do Until rst.EOF
    stremail = strDestinatarios & rst("E-mail empresa")
    strDestinatarios = Left(stremail, Len(stremail)) & ";"

    MsgBox stremail 'Essa msgBox é apenas para voce ver como o Loop funciona, pode depois excluí-la
    rst.MoveNext 'Aqui o recordSet vai pesquisando do primeiro ao último registro
    Loop 'De loop eu entendo.. ja fiz muito em Avião.. rrsrs, ele volta a instrução fazendo a junção dos endereços de e-mail atraves do comando rst.MoveNext
    StrEnvio = Left(strDestinatarios, Len(strDestinatarios) - 1) 'Apaga a última ;
    strTitulo = "teste"
    strMensagemCorpoDoEmail = "Prezados..."

    On Error Resume Next
    DoCmd.SendObject , , , strEnvio, , , strTitulo, strMensagemCorpoDoEmail, True, False
    'Aqui a variável (foi Substituida pela StrEnvio) estava no lugar errado (com relação as vírgulas)
    rst.Close
    Set rst = Nothing
    End Sub


    Enjoy!


    Última edição por Harysohn em 27/6/2011, 00:31, editado 2 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Convidado 26/6/2011, 19:22

    Neste exemplo adicionei um campo selecionado na tabela..
    Criei uma consulta apenas para o
    Nome Fantasia
    E-Mail
    Selecionado

    Uso essa consulta no SQL

    e coloquei código para enviar ao outLook apenas os e-mails marcados..
    se não há nenhum selecionado, ele aborta a operação

    http://dl.dropbox.com/u/26441349/E-Mail.rar
    avatar
    Fernando Colombini
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 23/06/2011

    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Fernando Colombini 28/6/2011, 03:34

    Olá Harysohn, puxa! só agora que visualizei a última mensagem!

    Perfeito! Fiquei aqui tentando utilizar várias consultas, quebrando a cabeça, e esse campo que você criou na tabela matou o problema.
    Muito obrigado e tenho certeza que vai ajudar muitas pessoas com isso.
    Muito bacana e esclarecedor, os comentários que fez no código.

    E para quem visualizar este tópico não deixe de ver a entrevista do Harysohn. http://www.svcsoftwarehouse.com/pressroom-detalhes.php?codigo=23

    Gostei do comentário do Loop, rsrsrs, mas prefiro o do código, é mais seguro.

    Um grande abraço!
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  vieirasoft 28/6/2011, 12:26

    EStá resolvido? Clicar no botão resolvido por favor.
    avatar
    Convidado
    Convidado


    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Convidado 28/6/2011, 12:59

    Fico feliz que o tenha lhe servido.

    Obrigado pelas considerações

    Bom trabalho, o fórum agradece o retorno.

    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  vieirasoft 28/6/2011, 13:17

    Faltou o resolvido

    Conteúdo patrocinado


    [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário Empty Re: [Resolvido]Envio de E-mail a partir de uma consulta filtrada em um subformulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 03:45