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


    [Resolvido]executar modulo no botao

    avatar
    FabioR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 59
    Registrado : 27/10/2021

    [Resolvido]executar modulo no botao Empty [Resolvido]executar modulo no botao

    Mensagem  FabioR 8/9/2022, 01:40

    Bom dia!

    Preciso de uma ajuda para executar o modulo da melhor forma.

    No meu frm Aluno1, tenho o botao " REGISTRAR" que registra a entrada e saida dos alunos em na tabela "Entra_saida_aluno". Até ai tudo bem.
    Na tabela tem o horario contrato, pois se o aluno chegou antes ou ficou até depois do horario contratado é gerado hora extra.
    O que preciso é que, caso seja gerado hora extra, será enviado um email para os pais informando.
    Consegui fazer o modulo SendMailHEPais, mas nao consigo fazer funcionar no botao "REGISTRAR" do frm Aluno1.

    Vou disponibilizar o DB para melhor compreensão, mas parte do código do botao é esse;

    If IsNull(Forms![aluno1]![Entra_saida_aluno Subformulário]!entrada) Then
       If Weekday(Date) = 2 And Not IsNull(Forms![aluno1].hora_entrada) Then
           Forms![aluno1]![Entra_saida_aluno Subformulário]!entrada = Time()
           Forms![aluno1]![Entra_saida_aluno Subformulário]!Data = Date
           Forms![aluno1]![Entra_saida_aluno Subformulário]!horacontr_entrada = Forms![aluno1].hora_entrada
           Forms![aluno1]![Entra_saida_aluno Subformulário]!horacontr_saida = Forms![aluno1].hora_saida
           DoCmd.RunCommand acCmdRefresh
           Forms![aluno1]![Cons_Saida_bebe30min subformulário].Requery

    Gostaria de chamar o modulo após esse codigo, mas nao consigo. Tentei jogar o codigo do modulo diretamente, mas o programa fica lento e nao consigo registrar mais de um aluno.

    Código do Modulo
    Public Function SendMailHEPais()
    Dim rs As DAO.Recordset
    Dim txtnome As String
    Dim txtHEntrada As String
    Dim txtContEntrada As String
    Dim txtContSaida As String
    Dim txtEmail_Pai As String
    Dim txtEmail_Mae As String


    Set rs = CurrentDb.OpenRecordset("SELECT * FROM Con_HE_SendEmail_Pais where Con_HE_SendEmail_Pais.[registro]=" & [Forms]![aluno1]![Registro] & "")

    'Do While Not rs.EOF

       txtnome = rs!nome
       txtHEntrada = rs!HEntrada
       txtContEntrada = rs!horacontr_entrada
       txtContSaida = rs!horacontr_saida
       txtEmail_Pai = rs!Email_Pai
       txtEmail_Mae = rs!email_Mae
       'rs.MoveNext
       'Loop
       
    If (txtHEntrada) <> "" Then
       

       Dim Obj As Object

       Set Obj = CreateObject("CDO.Message")
       With Obj.Configuration.Fields
           .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
           .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
           .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
           .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
           .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email@gmail.com"
           .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha"
           .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
           .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
           .Update
       End With
       
       With Obj
           .To = txtEmail_Pai
           .FROM = "email@gmail.com"
           .Subject = "Aviso : " & txtnome & " -  Hora Adicional Gerada"
           .HTMLBody = "Prezados Pais!

    Informamos que foi gerado " & txtHEntrada & " de hora adicional devido a entrada antecipada.

    " & " Entrada contratada: " & txtContEntrada & "
      Saída contratada: " & txtContSaida & "

    Caso haja dúvida, favor entrar em contato pelo WhatsApp 11 .
    Esse email não recebe menssagem.



    A Direção"
           
       End With
       
       On Error Resume Next
       Obj.Send
       
       If Err.Number <> 0 Then
           MsgBox "CDO Error " & vbNewLine & Err.Description, vbCritical, "Avíso"
       Else
           'MsgBox "Mensaje enviado con éxito", vbInformation, "Avíso"
       End If
       Set Obj = Nothing
       Set rs = Nothing
     End If
    End Function

      Data/hora atual: 3/10/2024, 11:33