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]Comparar data entre dois formulários

    Compartilhe
    avatar
    juliobertoso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 23/10/2017

    [Resolvido]Comparar data entre dois formulários

    Mensagem  juliobertoso em 18/12/2018, 14:55

    Galera, boa tarde!

    estou um probleminha que aparentemente é facil de resolver, mas não estou conseguindo e precisava da ajuda de voces

    tem um form com um textbox com fonte de controle =Data() para trazer a data de hoje quando o mesmo é aberto e nele tem um codigo que executa no modulo para ver ser no cadastro de funcionário tem algum funcionário com a CNH pra vencer em 30 dias

    aqui era para correr dentro da tabela Funcionario e comparar se a Data_funcionario4 é menor ou igual a data do textbox do form inicial e verificar se é pra continuar verificando...mas só que desta forma nao funciona.
    Código:
    If rs.Fields("Data_Funcionario4").Value <= Form_Inicial.txtDataVerificacao And rs.Fields("Notificacao").Value = "SIM" Then


    assim funciona, porem eu não consigo executar se nao entrar no cadastro do funcionário.
    Código:
    If rs.Fields("Data_Funcionario4").Value <= rs.Fields("Data_hoje") And rs.Fields("Notificacao").Value = "SIM" Then
    avatar
    FabioGO
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/08/2012

    Re: [Resolvido]Comparar data entre dois formulários

    Mensagem  FabioGO em 18/12/2018, 15:42

    Por que não usar o Date() no código? Já que o campo de comparação tem a data atual:

    If rs.Fields("Data_Funcionario4").Value <= Date() And rs.Fields("Notificacao").Value = "SIM" Then
    avatar
    juliobertoso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 23/10/2017

    Re: [Resolvido]Comparar data entre dois formulários

    Mensagem  juliobertoso em 18/12/2018, 16:56

    FabioGO
    fiquei até empolgado com a sujestão, pois estava tão focado com o erro que não havia pensado nisso, mas esta dando erro em tempo de execução 13: tipos compatíveis

    tentei, mas os valores em Data_Funcionario4 esta dando nulo Sad
    Código:
    If rs.Fields("Data_Funcionario4").Value <= Date And Notificacao(Notificacao).Value = "SIM" Then
    avatar
    FabioGO
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/08/2012

    Re: [Resolvido]Comparar data entre dois formulários

    Mensagem  FabioGO em 18/12/2018, 21:05

    Pode postar a parte do banco que está relacionada ao problema?
    avatar
    juliobertoso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 23/10/2017

    Re: [Resolvido]Comparar data entre dois formulários

    Mensagem  juliobertoso em 21/12/2018, 13:26

    Segue meu código que verifica as datas

    funciona, mas na verificação abaixo que da errado

    Código:
    If rs.Fields("Data_Funcionario4").Value <= Date  And rs.Fields("Notificacao").Value = "SIM" Then
    ja tentei assim também
    Código:
    If Date >= rs.Fields("Data_Funcionario4").Value  And rs.Fields("Notificacao").Value = "SIM" Then

    Segue código completo da verificação, esta em um módulo
    Código:

    Public Sub VerificarValidadeCNH()

    Dim strbody As String
    Dim strlocal As String
    Dim SigString As String
    Dim Signature As String
    Dim Assinatura As String
    Dim Horario As String

        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        'Referêcia Microsoft Outlook
      Dim OutApp As Outlook.Application
      Dim OutMail As Outlook.MailItem
        
        Dim anexo As String
        
        Set db = Application.CurrentDb
        Set rs = db.OpenRecordset("tblCadFuncionario") ' Corre a Tabela
     
        'Inicializando o Ms-Outlook
        Set OutApp = New Outlook.Application
        
                'Informe o Local onde se encontra sua assinatura, podendo ser no Computador ou URL de Algum Site
        LogoAzul = "https://seeklogo.com/images/A/azul-linhas-aereas-logo-BC6E9A3302-seeklogo.com.png"
        
            'Informe o Local onde se encontra sua assinatura, podendo ser no Computador ou URL de Algum Site
        Assinatura = "https://www.passagenspromo.com.br/home/wp-content/uploads/2018/05/azul_assento-min.jpg"
        
        'EOF = End Of File
        Do Until rs.EOF 'faça até o fim do arquivo
        
        'faz a comparação
        
        'If rs.Fields("Data_Funcionario4").Value >= rs.Fields("VencimentoCNH_Funcionario").Value And rs.Fields("Notificacao").Value = "SIM" Then 'ERRO DE IMMCOMPATIBILIDADE
         If rs.Fields("Data_Funcionario4").Value >= Date  And rs.Fields("Notificacao").Value = "SIM" Then
            
            MsgBox "Credencial ou CNH vencida: " & "  " & rs!Nome_Funcionario
              
            
             If Format(Time$, "hh:mm") >= "18:00:00" Then
             Horario = "Boa Noite!"
             strlocal = "Campinas, " & Format(Date, "dd") & " de " & Format(Date, "mmmm") & " de " & Format(Date, "yyyy") & "."
      
             ElseIf Format(Time$, "hh:mm") >= "12:00:00" Then
             Horario = "Boa Tarde!"
             strlocal = "Campinas, " & Format(Date, "dd") & " de " & Format(Date, "mmmm") & " de " & Format(Date, "yyyy") & "."
        
             ElseIf Format(Time$, "hh:mm") >= "00:00:00" Then
             Horario = "Bom dia!"
             strlocal = "Campinas, " & Format(Date, "dd") & " de " & Format(Date, "mmmm") & " de " & Format(Date, "yyyy") & "."
        
             End If
            
            'Novo Email
            Set OutMail = OutApp.CreateItem(olMailItem)
            With OutMail
      
             .To = rs.Fields("Email_Funcionario").Value
             .CC = ""
             .BCC = "" 'Copia oculta
             .Subject = "ATENÇÃO! CNH Vencendo em: " & rs!VencimentoCNH_Funcionario & " Nome: " & rs!Nome_Funcionario  'ASSUNTO
             .BodyFormat = olFormatHTML
                
        .HTMLBody = "<HTML><BODY><FONT FACE=Calibri (Corpo) COLOR=1F497D<B>" & _
        "<img src=" & LogoAzul & " " & "height=100" & " " & "width=300>" & _
        "<BR><BR>" & _
         strlocal & "</B><BR><BR>" & Horario & "<BR><BR></BR>" & "Credencial ou CNH de " & "  " & "<B>" & rs!Nome_Funcionario & "</B>" & " do setor " & _
        "<B>" & rs!Departamento_Funcionario & "</B>" & " estará vencendo em " & "<B>" & rs!DataHoje & "</B>" & " dias, favor solicitar a renovação." & "<BR>" & "Data de vencimento: " & _
        rs!VencimentoCNH_Funcionario & "<BR>" & "<BR><BR><BR>" & _
        "<BR> Atenciosamente, <BR><BR>SISCARROS<BR>" & _
            "<hr/>" & _
            "<SUP>" & "Caso não queira mais receber notificação deste motorista, favor entrar no cadastro do mesmo e alterar a notificação para NÃO." & "</SUP><BR>" & _
        "<img src=" & Assinatura & " " & "height=100" & " " & "width=200>" & "</FONT></BODY></HTML>"

        
            '"<img src=" & LogoAzul & " " & "height=100" & " " & "width=300>" - IMAGEM NO INCICIO DO EMAIL
              
                 '.Display
                 .Send
             End With
                'Libera memória
                 Set OutMail = Nothing
            End If
            rs.MoveNext
        Loop
        'fechar conexão
        rs.Clone
        db.Close
        'libera memória
        Set rs = Nothing
        Set db = Nothing
         Set OutApp = Nothing
         'MsgBox "foi enviado um email automático informando!", vbInformation
    End Sub
    avatar
    juliobertoso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 23/10/2017

    Re: [Resolvido]Comparar data entre dois formulários

    Mensagem  juliobertoso em 21/12/2018, 13:59

    Obrigado a todos,

    consegui resolver da seguinte forma

    Dim DataAgora As Date

    DataAgora = Date

    If DataAgora >= rs.Fields("Data_Funcionario4").Value And rs.Fields("Notificacao").Value = "SIM" Then

    Valeu, Feliz Natal a todos santa cheers
    avatar
    FabioGO
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/08/2012

    Re: [Resolvido]Comparar data entre dois formulários

    Mensagem  FabioGO em 21/12/2018, 14:39

    Que bom que conseguiu.
    Agora ponha o [Resolvido] no tópico
    avatar
    juliobertoso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 23/10/2017

    Re: [Resolvido]Comparar data entre dois formulários

    Mensagem  juliobertoso em 21/12/2018, 14:52

    Coloquei, mas não apareceu.scratch

    Colocando novamente

      Data/hora atual: 26/3/2019, 02:58