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]gerar relatório do registro atual e enviar para o email do campo email

    andrelecio
    andrelecio
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 02/03/2012

    [Resolvido]gerar relatório do registro atual e enviar para o email do campo email Empty gerar relatório do registro atual e enviar para o email do campo email

    Mensagem  andrelecio 2/3/2012, 06:43

    Saudações,

    Sou iniciante no ACCESS mas vou lá aos trancos conseguindo fazer algo, minha dúvida é a seguinte, eu gostaria de colocar um botão em um formulário que uso para guardar os dados de envios de encomendas como numero dos correios, data de envio que enviasse ao comprador estes mesmos dados baseados no campo email deste formulário, porém qual a rotina que devo usar para:

    1) gerar um pdf do relatório remessas só com o dado atual
    2) anexar este mesmo relatório no outlook
    3) setar o destinatário como o mesmo do campo email do formulário/relatório
    4) setar assunto e corpo da mensagem

    Se alguém puder ajudar agradeço bastante
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]gerar relatório do registro atual e enviar para o email do campo email Empty Re: [Resolvido]gerar relatório do registro atual e enviar para o email do campo email

    Mensagem  Avelino Sampaio 2/3/2012, 08:51

    Olá

    Veja este meu artigo sobre Accces x Outlook

    http://www.usandoaccess.com.br/dicas/dica8.asp?id=1#inicio

    Como gerar o PDF:

    http://www.usandoaccess.com.br/tutoriais/tuto12.asp?id=1#inicio

    e por ultimo um tutorial sobre filtragens

    http://www.usandoaccess.com.br/tutoriais/tuto35.asp?id=1#inicio

    Bom estudo!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    andrelecio
    andrelecio
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 02/03/2012

    [Resolvido]gerar relatório do registro atual e enviar para o email do campo email Empty Re: [Resolvido]gerar relatório do registro atual e enviar para o email do campo email

    Mensagem  andrelecio 3/3/2012, 02:38

    Obrigado por responder tão prontamente Avelino, segui todos os passos e quando vai enviar o email, apresenta o seguinte erro:

    erro em tempo de execução 2501 - a ação outputTo foi cancelada

    Tens alguma sugestão do que eu possa estar fazendo errado?

    Atualizando:

    Consegui fazer funcionar com o seguinte código que encontrei na internet (do Avelino) com algumas modificações

    Código:
    Private Sub Comando82_Click()
    Dim strArquivo  As String
    Dim strLocal    As String
    Dim stDocName    As String
    Dim str_criterio As String
    Dim objOut      As Object
    Dim objmail    As Object
    Dim objAnexo    As Object
    Const olMailItem = 0
    Const olByValue = 1

    If IsNull(Me!numero) Then Exit Sub
    Set objOut = CreateObject("Outlook.application")
    Set objmail = objOut.CreateItem(olMailItem)
    Set objAnexo = objmail.Attachments
    stDocName = "remessa"
    str_criterio = "[cod_pedido]=" & Me![numero]
    DoCmd.OpenReport stDocName, acViewPreview, , , acHidden, str_criterio
    strArquivo = "C:\Relatorio.pdf"
    strLocal = "C:\Relatorio.pdf"
    If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord
    DoCmd.OutputTo acOutputReport, "remessa", acFormatPDF, "C:\Relatorio.pdf"
    DoCmd.Close acReport, "remessa"
    objAnexo.Add strLocal, olByValue, 1
    objmail.Display
    Set objAnexo = Nothing
    Set objmail = Nothing
    Set objOut = Nothing
    End Sub

    O problema é que não está filtrando corretamente e todos os registros estão sendo impressos no pdf, o que pode estar errado
    andrelecio
    andrelecio
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 02/03/2012

    [Resolvido]gerar relatório do registro atual e enviar para o email do campo email Empty Re: [Resolvido]gerar relatório do registro atual e enviar para o email do campo email

    Mensagem  andrelecio 4/3/2012, 16:46

    Consegui resolver sozinho mesmo pesquisando aqui no forum e estou utilizando dois processos diferentes:

    O Primeiro através do JMail (www.dimac.net)

    Vou deixar os passos aqui:

    1. Baixe o Jmail e instale
    2. Habilite no VBA (vba/ferramentas/referências) o Jmail 4.x library

    No meu caso, eu tinha necessidade de mandar um email para o cliente com os dados do pedido dele em pdf, então setei para que o relatório seja executado em segundo plano e enviado para o campo email do registro atual já no formato pdf, entretanto o problema era que o pdf mostrava todos os registros, resolvi criando uma consulta e baseando o relatório nela

    coloquei o seguinte código na propriedade ao clicar de um botão ou imagem do meu formulário

    Código:
    On Error GoTo Erro

    Dim Destinatario    As String
    Dim objMail As New jmail.Message, vSMTP As String

    vSMTP = "smtp.seudominio.com.br" 'Servidor SMTP
    Destinatario = Me!email

    DoCmd.OpenReport "qryvendas", acViewPreview, , "[numero]=" & "'" & Me![numero] & "'", acHidden

    DoCmd.OutputTo acOutputReport, "qryvendas", acFormatPDF, "C:\Relatorio.pdf"

    DoCmd.Close acReport, "qryvendas"


    objMail.From = "seuemail@dominio.com"
    objMail.FromName = "Seu nome"
    objMail.AddRecipient Destinatario
    objMail.MailServerUserName = "seu login"
    objMail.MailServerPassWord = "sua senha"

    objMail.Subject = "Seu pedido"
    objMail.Body = "Prezado(a) Cliente,!" & vbCrLf & _
    "Você está recebendo a cópia de seu pedido em anexo em pdf, guarde-a ou imprima para futuras consultas."

    objMail.AddAttachment "C:\Relatorio.pdf", True

    If objMail.Send(vSMTP) Then
    MsgBox "E-mail enviado com sucesso!", vbInformation + vbOKOnly, "E-mail enviado"
    Else
    MsgBox "Ocorreu um erro ao enviar o e-mail." & vbCrLf & objMail.Log, vbCritical + vbOKOnly, "Erro"
    End If

    Set objMail = Nothing

    Sair:
    Exit Sub
    Erro:
    MsgBox Err.Description & vbCrLf & objMail.Log, vbCritical + vbOKOnly, "Erro " & Err.Number & " no envio do e-mail"
    Resume Sair


    Também usei o código do Avelino : Veja clicando aqui e também funcionou perfeitamente
    avatar
    tfpassos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 10/08/2014

    [Resolvido]gerar relatório do registro atual e enviar para o email do campo email Empty ENVIAR RELATORIOS POR EMAIL PARA DESTINATÁRIOS DO CAMPO EMAIL

    Mensagem  tfpassos 10/8/2014, 23:57


    Pessoal,

    Sou novo aqui e principiante em access. Preciso que ao clickar no botão de comando ele envie relatoios em PDF pelo outlook para destinatario do campo email. tetei o código abaixo e deu erro em tempo de execução 5 argumento ou chamada de procedimento inválido inválido. If Me.Dirty Then o que pode estar errado. Este é um codigo do Avelino que pesquisei

    rivate Sub Comando24_Click()
    Dim strArquivo As String
    Dim strLocal As String
    Dim stDocName As String
    Dim str_criterio As String
    Dim objOut As Object
    Dim objmail As Object
    Dim objAnexo As Object
    Const olMailItem = 0
    Const olByValue = 1

    If IsNull(Me!EMAIL) Then Exit Sub
    Set objOut = CreateObject("Outlook.application")
    Set objmail = objOut.CreateItem(olMailItem)
    Set objAnexo = objmail.Attachments
    stDocName = "RELATORIO ESTRUTURA"
    str_criterio = "[COD AGENCIA]=" & Me![EMAIL]
    DoCmd.OpenReport stDocName, acViewPreview, , , acHidden, str_criterio
    strArquivo = "C:\Relatorio.pdf"
    strLocal = "C:\Relatorio.pdf"
    If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord
    DoCmd.OutputTo acOutputReport, "RELATORIO ESTRUTURA", acFormatPDF, "C:\Relatorio.pdf"
    DoCmd.Close acReport, "RELATORIO ESTRUTURA"
    objAnexo.Add strLocal, olByValue, 1
    objmail.Display
    Set objAnexo = Nothing
    Set objmail = Nothing
    Set objOut = Nothing

    End Sub

    Conteúdo patrocinado


    [Resolvido]gerar relatório do registro atual e enviar para o email do campo email Empty Re: [Resolvido]gerar relatório do registro atual e enviar para o email do campo email

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 11:03