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


    [Resolvido]Enviar E-mail baseado em dados de uma tabela

    avatar
    suel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  suel em 27/1/2014, 20:58

    Boa tarde Senhores,

    Preciso criar um módulo que envie e-mail utilizando o Outlook. No email deve ser gerado a partir de dados de uma tabela. Mas os dados devem ser agrupados por filial e deve ser gerado um email para cada filial com os registros a ela vinculados.

    Exemplo do email:

    À
    Filal BXXXXXXXX, DF – 1xxxx - email1, email2, email3

    Assunto: Solicitação de contrato


    Senhor Gerente,


    1. Solicitamos o envio dos contratos descritos abaixo:

    '''''tabela com dados por filial
    CO_UNO NO_UNO CTR VL_DIV_TOT QTDE_DIAS_ATRASO
    1xxx BXXXXXXXX 8xxxxxxxxxxxxx R$ 92.793,80 195
    1xxx BXXXXXXXX 8xxxxxxxxxxxxx R$ 55.191,03 197

    2. O registro do envio do processo deve ser feito via sistema, aos cuidados de Empregado Resposanvel. Solicitamos colocar no campo ‘observações’ o número do contrato que está sendo enviado.

    3. Pedimos não encaminhar outros contratos que não sejam os mencionados acima. Não temos espaço físico para guardar.

    4. Em caso de não localização de algum contrato, solicitamos seguir as orientações do normativo  XX XXXX.

    5. Agradecemos a atenção e colocamo-nos a disposição para eventuais esclarecimentos.


    Atenciosamente,
                                                                       

    Fulano
    Asssitente
    Matriz

    Cicrano
    Coordenador
    Matriz


    Segue o código em anexo. Ps: não está funcionando


    Grato
    Dilson
    Dilson
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Re: [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  Dilson em 29/1/2014, 00:25

    Olá suel,

    Experimente pesquisar na ferramenta de busca do fórum por "outlook" ou "CDO" ou "Email" ou "Exportar", vai lhe mostrar muitas opções inclusive no repositório de exemplos. Dá uma olhadinha e retorne mostrando a onde está a maior dificuldade.

    Abraço.
    avatar
    suel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Re: [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  suel em 3/2/2014, 16:05

    Obrigado pela dica! Consegui resolver o com os módulos do fórum indicados. Mas estou com um problema para formatar os dados na tabela gerada no email a ser enviado. Segue o código e o exemplo da tabela.

    Código:

    TxtHTM = TxtHTM & "<TABLE BORDER=1 style=""border-collapse: collapse"">" '<! Inicia a tabela e coloca uma borda de espessura igual a 1>"
            TxtHTM = TxtHTM & "<TR bgcolor= '#00FFFF'><b><CENTER><TD>Código da Unidade</TD><TD>Nome da Unidade</TD><TD>Nº Contrato</TD><TD>Valor (R$)</TD><TD>Atraso</TD></CENTER></b></TR>"
                Do
                    TxtHTM = TxtHTM & "<TR bgcolor= '#FFFFFF'><CENTER>"
                    TxtHTM = TxtHTM & "<TD>" & rs.Fields("CO_UNO").Value & " </TD>"
                    TxtHTM = TxtHTM & "<TD>" & rs.Fields("NO_UNO").Value & " </TD>"
                    TxtHTM = TxtHTM & "<TD>" & rs.Fields("CTR").Value & " </TD>"
                    TxtHTM = TxtHTM & "<TD>" & rs.Fields("Valor") & " </TD>"
                    TxtHTM = TxtHTM & "<TD>" & rs.Fields("Atraso").Value & " </TD></CENTER>"
                    rs.Edit
                    rs!lido = True
                    rs.Update
                    rs.MoveNext
                    If rs.EOF Then Exit Do
                    If Uno <> rs!CO_UNO Then  'verifica se a filial não mudou
                        Exit Do
                    End If
                Loop Until rs.EOF

    Código da Unidade Nome da Unidade Nº Contrato Valor (R$) Atraso
    xxxx SEM NOME XXXXXXXXXX 81668.8 538
    xxxx SEM NOME XXXXXXXXXX 46560.04 841
    xxxx SEM NOME XXXXXXXXXX 66780.46 650
    xxxx SEM NOME XXXXXXXXXX 75317.88 315

    Gostaria que os valores aparecessem na tabela da seguinte forma: R$ 81,668.80. Oq devo alterar?

    Grato
    Dilson
    Dilson
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Re: [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  Dilson em 4/2/2014, 10:21

    Olá,

    Que ótimo que já está em andamento sua solução.

    Já tentou usar a função CDbl, assim:

    CDbl(rs.Fields("Valor"))

    Dilson
    Dilson
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Re: [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  Dilson em 5/2/2014, 01:43

    Olá novamente,

    Aqui a solução para manter o ponto e as virgulas no recordset:

    FormatNumber(rs.Fields("Valor"), 2)


    Se desejar que fique do tipo moeda:

    FormatNumber(rs.Fields("Valor"), 2)
    FormatCurrency(rs.Fields("Valor"))


    Uma observação importante: O nome "Valor" é um nome reservado do access e por isso não deve ser usado. A sugestão é que modifique este nome de campo para outro como por exemplo: ValorX. É altamente recomendado que não use os nomes reservados do access, porque o que costuma acontecer, é o programa não responder ao seu código que está impecavelmente certo.
    toyebom
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1121
    Registrado : 18/07/2012

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Enviar E-mail baseado em dados de uma tabela

    Mensagem  toyebom em 5/2/2014, 01:54

    O amigo Dilson tem razão existem palavras que não devem ser utilizadas podendo criar conflitos, tais como nome numero e outros pelo que sempre que crias um campo na tabela deves colocar algo mais alem da palavra tipo nome1 ou A_numero ou outro.


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    suel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Re: [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  suel em 5/2/2014, 17:27

    Muito obrigado pelas dicas e ajuda! Testarei o quanto antes e retornarei.

    Grato
    avatar
    suel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Re: [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  suel em 18/2/2014, 20:56

    As alterações deram certo, valeu Dilson, ficou assim:

    Código:
    TxtHTM = TxtHTM & "<TD>" & FormatCurrency(rs.Fields("DividaTotal")) & " </TD>"

    Mas surgiu um novo problema. Acontece que os e-mails não estão sendo enviados automaticamente para algumas destinatários que possuem mais de uma caixa, p.e:
    AxxxxUF - Filial/UF
    AxxxxUF02 - Contratos
    AxxxxUF03 - Cobrança

    Qndo o código se depara com uma situação dessa da erro e encerra a execução. O posso fazer para sanar tal problema?

    Obrigado
    Dilson
    Dilson
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Re: [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  Dilson em 19/2/2014, 18:38

    Olhando seu código na #mensagem 3, acho que precisará tirar essa parte:

    If Uno <> rs!CO_UNO Then  'verifica se a filial não mudou
                       Exit Do
                   End If



    Veja que se a filial (unidade) for diferente ele aborta o processamento.
    avatar
    suel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Re: [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  suel em 20/2/2014, 17:40

    :placeholder

    Essa parte do código tá certinha, pois nesse trecho as linhas da tabela são geradas para a mesma filial e qndo muda termina de montar o email e envia. O problema é cmo disse uma mesma filial tem várias caixas postais, mas quero enviar pra a primeiro que é a principal. Porém o outlook não envia e abre um diálogo para que o usuário escolha. Como faço para que essa escolha seja automática e consequentemente o envio.

    Grato
    avatar
    suel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Re: [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  suel em 12/8/2014, 16:35

    Ainda não encontrei a resposta, mas a ajuda do tópico me auxiliou bastante.

    Obrigado

    Conteúdo patrocinado

    [Resolvido]Enviar E-mail baseado em dados de uma tabela Empty Re: [Resolvido]Enviar E-mail baseado em dados de uma tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 18/6/2019, 14:50