Validação do campo ...
 
Notifications
Clear all

[Resolvido] Validação do campo Data Final do Processo NÃO pode ser Menor que a Data Inicial do Processo

3 Posts
2 Usuários
0 Reactions
1,291 Visualizações
(@servercold)
Posts: 8
Active Member
Topic starter
 

Boa Tarde a Todos!

Pessoal, estou com uma inconsistência no código aonde preciso validar os campos Data Inicial e Data Final do Processo para que não permita gravar quando a Data FINAL for Menor que a Data INICIAL. Porém existe alguns critérios conforme cenário abaixo, estou utilizando uma Tela com formulário VBA e já faço Validação de Dados diretamente nele aonde o campo Data Inicial é campo Obrigatório ou seja sempre vai ter que existir e tah funcionando perfeitamente.

Cenário

1) O Sistema deve permitir gravar o registro se a Data Inicial for informada e data final esteja em branco;

2) O Sistema deve permitir gravar o registro se a Data Inicial for igual a Data Final do Processo;

3) O Sistema deve permitir gravar o registro se a Data Inicial for Menor que Data Final do Processo;

4) O Sistema deve bloquear e demonstrar a mensagem que o valor do campo Data Final do Processo é MENOR que a data Final do Processo.

Com o código abaixo, estou conseguindo efetuar tudo, porém descobrir uma inconsistência que o sistema está permitindo gravar quando a Data Final do Processo Menor quando não deveria e isso ocorre quando é data Futura após o período atual, exemplo:

Hoje 22/11/2020 - Estou lançando Data Inicial do Processo 15/12/2020 e Data Final do Processo 01/11/2020, nesta caso o sistema não bloqueou e deixou passar, não sei porque.

Agradeço antecipadamente a todos

Sérgio Luiz

 

 

Código VBA

Private Sub CommandButton1_Click()

' Chama função Validação dos Campos Vazio do Formulário no Registro de Processo que são Obrigatórios de preenchimento
If CampoVazio(frmProcessos) = True Then Exit Sub

 

' Linha aonde ocorre a inconsistência -  Validação do campo Data Final do Processo que não pode ser Menor que a Data Inicial do Processo

If caixa_dtfimproc.Text <> "" And caixa_dtfimproc.Text <> "" Then

If caixa_dtfimproc < caixa_dtiniproc Then

MsgBox ("Data Fim do Processo: " & caixa_dtfimproc & " não pode ser MENOR que a data Inicial do Processo: " & caixa_dtiniproc), vbInformation, "Validação Data Processoo"

Exit Sub

End If
End If

 

 
Postado : 22/11/2020 4:02 pm
(@anderson)
Posts: 203
Reputable Member
 

https://youtu.be/VlIeZMB_BG4

https://youtu.be/-8XCOK5-Vp0

https://youtu.be/H3YIV-Ud67k

https://youtu.be/T2Y4UW7Wmlc

https://youtu.be/o_PLHZQ8WgQ

https://youtu.be/GvP98Qa-I-A

 

 

If cdate(caixa_dtfimproc) < cdate(caixa_dtiniproc) Then
Este post foi modificado 4 anos atrás 6 vezes por Anderson

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.

 
Postado : 22/11/2020 7:02 pm
(@servercold)
Posts: 8
Active Member
Topic starter
 

@anderson Boa Noite!!

Muito obrigado pela ajuda, resolveu de fato colocando CDate.

Engraçado que não tive atenção em olhar a minha rotina de gravar o registro na tabela, porque lá estou utilizando o Cdate.

Sua ajuda foi de grande atribuição, muitíssimo obrigado!!

 
Postado : 22/11/2020 8:26 pm