DATA FINAL MENOR QUE DATA INICIAL
Tenho duas textbox onde a txt1.text é a data inicial e a txt2.text é a data final. Eu utilizarei estes dois texts para fazer uma consulta sql... até ai blz, funcionou tranquilo...
Agora eu queria fazer o seguinte, se o cara digitar a data final menor que a data inicial o sistema deveria emitir uma mensagem de erro? Como é possÃvel fazer isso???
Agora eu queria fazer o seguinte, se o cara digitar a data final menor que a data inicial o sistema deveria emitir uma mensagem de erro? Como é possÃvel fazer isso???
Sub Verificar()
If DataFinal < DataInicial then
mgsbox"Data Finak menor que data inicial !!!"
end if
end sub
If DataFinal < DataInicial then
mgsbox"Data Finak menor que data inicial !!!"
end if
end sub
Já tentei isso Luis, não deu certo... acredito q deve ser necessário fazer algum tipo de tratamento prévio nos textbox antes de verificar se um é menor que outro. valew!!
colocada Cdate(seus text)
NO LOSTFOCUS DO TEXT2 FAÇA
IF CDATE(TXT1.TEXT) > CDATE(TXT2.TEXT) THEN
MSGBOX "DATA INFORMADA INCORRETAMENTE", VBINFORMATION
TXT1.SETFOCUS
END IF
OBS: LHE ACONSELHO USAR O COMPONENTE DATAPICKER NO LUGAR DO TEXT, ESSE COMPONENTE é ESPECà ÂFICO PARA DATA
ABRAÇOS!
IF CDATE(TXT1.TEXT) > CDATE(TXT2.TEXT) THEN
MSGBOX "DATA INFORMADA INCORRETAMENTE", VBINFORMATION
TXT1.SETFOCUS
END IF
OBS: LHE ACONSELHO USAR O COMPONENTE DATAPICKER NO LUGAR DO TEXT, ESSE COMPONENTE é ESPECà ÂFICO PARA DATA
ABRAÇOS!
ou assim
dim inicial as date
dim final as date
inicial = seu txt inicial
final = seu txt final
if final < inicial then
mgsbox"Data Finak menor que data inicial !!!"
exit sub
end if
dim inicial as date
dim final as date
inicial = seu txt inicial
final = seu txt final
if final < inicial then
mgsbox"Data Finak menor que data inicial !!!"
exit sub
end if
Fiz isso:
If CDate(txtDataFim.Text) < CDate(txtDataInicio.Text) Then
MsgBox "erro"
Exit Sub
End If
mas suponhamos que eu queira o relatorio completo, sem um periodo definido. Como as textbox vao estar vazias, vou ter o erro "Type Mismatch", pq o cDate não aceita Empty ou Null como parametro.
If CDate(txtDataFim.Text) < CDate(txtDataInicio.Text) Then
MsgBox "erro"
Exit Sub
End If
mas suponhamos que eu queira o relatorio completo, sem um periodo definido. Como as textbox vao estar vazias, vou ter o erro "Type Mismatch", pq o cDate não aceita Empty ou Null como parametro.
Tenta assim:
If CDate(txtDataFim.Text) < CDate(txtDataInicio.Text) Or CDate(txtDataFim.Text) <> Empty Or CDate(txtDataInicio.Text) <> Empty Then
Se o OR não der tenta AND
If CDate(txtDataFim.Text) < CDate(txtDataInicio.Text) Or CDate(txtDataFim.Text) <> Empty Or CDate(txtDataInicio.Text) <> Empty Then
Se o OR não der tenta AND
Blz Luis, deu certo, valeu!
Tópico encerrado , respostas não são mais permitidas