|
|
|
|
|
Dicas
|
|
Visual Basic (Validações)
|
|
|
Título da Dica: Valida data no Text e ainda mostra se esta errada o ano ou mes ou dia - The Best
|
|
|
|
Postada em 29/1/2006 por B1RUT@
'quando não se pode utilizar o dtPicker, então aih vai a The Best validação de data em textBox.
'***************
'Formata automaticamente a entrada de data em um objeto TextBox Function CampoData(OBJ As Object, Keyasc As Integer)
If Not ((Keyasc >= Asc("0") And _ Keyasc <= Asc("9")) Or Keyasc = 8) Then Keyasc = 0 Exit Function End If If Keyasc <> 8 Then If Len(OBJ.Text) = 2 Or _ Len(OBJ.Text) = 5 Then OBJ.Text = OBJ.Text + "/" OBJ.SelStart = Len(OBJ.Text) End If End If
End Function
'*******************************
Private Sub TxtData_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then SendKeys "{TAB}" KeyAscii = 0 End If
'Formata automaticamente a entrada de data CampoData TxtData, KeyAscii
End Sub
'*******************************
Private Sub TxtData_LostFocus()
' Jesus is Lord Select Case TestaData(TxtData) Case Is = "ANO" MsgBox "Verifique o ANO !", vbCritical, "Data inválida!" Exit Sub Case Is = "MES" MsgBox "Verifique o MÊS !", vbCritical, "Data inválida!" Exit Sub Case Is = "DIA" MsgBox "Verifique o DIA !", vbCritical, "Data inválida!" Exit Sub End Select
End Sub
'********************
Public Function TestaData(VerData As String)
Dim xUltimoDiaMes As String Dim xyAno As Integer Dim xyMes As Integer 'Testa o Ano If Mid(VerData, 7, 4) < 1980 Or Mid(VerData, 7, 4) > 2010 Then TestaData = "ANO" 'False Exit Function Else xyAno = Mid(VerData, 7, 4) End If 'Testa o Mes If Mid(VerData, 4, 2) < 1 Or Mid(VerData, 4, 2) > 12 Then TestaData = "MES" 'False Exit Function Else xyMes = Mid(VerData, 4, 2) End If
'verifica o ultimo dia do mes da data solicitada xUltimoDiaMes = Day(DateSerial(xyAno, xyMes + 1, 1) - 1)
'testa o DIA If Mid(VerData, 1, 2) < 1 Or Mid(VerData, 1, 2) > xUltimoDiaMes Then TestaData = "DIA" 'False Exit Function Else TestaData = True End If
End Function
[ ]´s By Vagner Clipper/C/VB/ASP www.lucalsoft.com.br
|
|
|
|
|