USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  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
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página