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

    Relatório quebra por utilizador e envia email

    avatar
    emame
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 70
    Registrado : 05/11/2011

    Relatório quebra por utilizador e envia email Empty Relatório quebra por utilizador e envia email

    Mensagem  emame 7/4/2024, 21:51

    Olá a todos,

    tenho uma base de dados de marcação de serviços.
    Basicamente funciona assim, o funcionário vai introduzindo as marcação de serviços pela data.
    No dia anterior à marcação do serviço o funcionário abre um formulário (com filtro de data) com todas as marcações para o dia escolhido e tem a possiblidade de imprimir as marcações por técnico ou pela viatura.
    Imaginamos que o funcionário tira o relatório por técnico, vai sair todos os serviços daquele dia ordenado pelo nome dos técnicos separados por quebras de pagina.

    Entretanto com o crescente numero de técnicos e de modo a facilitar a gestão é necessário enviar por e-mail no final do dia o relatório das marcações para o dia seguinte a cada técnico.

    Qual é o meu problema, o relatório não sai só de determinado técnico, quando abro/exporto o relatório ele incluiu todos os técnicos em vez de sair um relatório por cada técnico.
    Depois a segunda situação é necessário pegar nesse relatório por tecnico e enviar por e-mail ao mesmo e não queria utilizar o outlook.


    Como posso fazer para exportar esse relatório mas "partido" pelo nome de cada técnico e envia-lo para o email?
    Alguém tem alguma ideia de como posso fazer isto de forma mais automatizada?

    Obrigado


    avatar
    Holanda
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 21/09/2018

    Relatório quebra por utilizador e envia email Empty Re: Relatório quebra por utilizador e envia email

    Mensagem  Holanda 8/4/2024, 01:55

    Boa noite.

    Sim da para fazer isso.

    Vou deve ajeitar seu relatório para agrupar por Tecnico.

    Mas essa solução nao resolve seu problema de email, pelo contrario atrapalha.

    Deve fazer um arquivo para cada tecnico serparado.
    E depois enviar por email esse arquivo via Email.

    Aqui está a funcao para enviar o anexo por email:
    ' ---------------------------------
    DoCmd.Hourglass True

    ' Critica campos
    Dim sEmail As String
    Dim lCarac As Long

    Const nomeempresa As String = "#Sua Empresa#"
    sEmail = "#email destinatário#" ' Alterar para o email do tecnico


    Dim iMsg As Object
    Dim iConf As Object

    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")

    iConf.Load -1 ' CDO Source Defaults
    Dim Flds As Object
    Set Flds = iConf.Fields

    With Flds

    .item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.#seuservidor#.com.br" ' Coloque o seu servidor de email
    .item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
    .item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
    .item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "#seuemail@seuservidor#.com.br" ' Coloquei seu email do seu servidor
    .item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "#suasenha#" ' Coloquei sua senha do email do seui email do seu servidor
    .item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 18
    .Update

    End With

    Dim strSub As String
    strSub = nomeempresa & " - " & Date

    Dim sMensagem As String
    sMensagem = "Prezado Técnico, você está recebendo um email ..." & _
    "Atenciosamente," & vbNewLine & _
    nomeempresa

    With iMsg

    Set .Configuration = iConf
    .To = sEmail
    .CC = ""
    .BCC = ""
    .FROM = "#seuemail@seuservidor#.com.br"
    .AddAttachment (patPDF) 'PDF - Rota do arquivo em PDF ou outro formato (Exe: "C:\Meu\Tecnico_XXX.PDF")
    .Subject = strSub 'Assunto
    .TextBody = sMensagem 'Mensagem
    Sleep (1000) 'Time para carregar o PDF
    .sEnd

    End With

    Set iMsg = Nothing
    Set iConf = Nothing

    DoCmd.Hourglass False

    MsgBox "Email enviado.", vbInformation, "Meu App"


    avatar
    emame
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 70
    Registrado : 05/11/2011

    Relatório quebra por utilizador e envia email Empty Re: Relatório quebra por utilizador e envia email

    Mensagem  emame 8/4/2024, 17:20

    Olá, antes de mais obrigado pela sua disponibilidade!

    Já algum tempo que não mexo no access e não querendo passar vergonha, o que fiz, foi colocar o código que enviou num botão e alterar alguns dados para conseguir fazer o envio.

    Depois outra coisa que não percebi é a localização do ficheiro pdf em especifico esta linha:

    .AddAttachment (patPDF) 'PDF - Rota do arquivo em PDF ou outro formato (Exe: "C:\Meu\Tecnico_XXX.PDF") - é necessário alterar alguma coisa? Será suposto abrir alguma janela para indicarmos o caminho? É que ele não fez nada passou por este código e vai dar erro aqui: Sleep (1000) 'Time para carregar o PDFSleep (1000) 'Time para carregar o PDF

    Não querendo abusar da sua boa vontade, parece-me que neste código só podemos adicionar uma destinatário e temos de ir ao "código" mudar, é possível ter uma caixa de texto para colocarmos o email a enviar?

    Obrigado

    Conteúdo patrocinado


    Relatório quebra por utilizador e envia email Empty Re: Relatório quebra por utilizador e envia email

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/5/2024, 13:10