CRIAR UM TEXTBOX QUE CADASTRE DATA
Quero criar um textbox que cadastre a data
você escreve tipo
12121980 e quando tecla entre ele já inclui 12/12/1980
e no banco de dados ele também fica assim
Alguém pode ajudar
Valeu
você escreve tipo
12121980 e quando tecla entre ele já inclui 12/12/1980
e no banco de dados ele também fica assim
Alguém pode ajudar
Valeu
vc pode fazer assim no evento lostfocus do text
txtdata = format(txtdata,"##/##/####")
txtdata = format(txtdata,"##/##/####")
Eu criei esta função para preencher um textobox com a data
No evento ao validar ou LostFocus
Você pode usar esta ou melhorar
Function AchaData(StrNome As String) As String
Dim Ano As String
Dim ano1 As String
Dim Mes As String
Dim dia As String
Dim TT As String
TT = 0
If StrNome = "" Or IsNull(StrNome) Then
Exit Function
End If
If Len(StrNome) = 10 Then
dia = Left(StrNome, 2)
Mes = Mid(StrNome, 4, 2)
Ano = Mid(StrNome, 9, 2)
TT = 1
ElseIf Len(StrNome) = 8 Then
dia = Left(StrNome, 2)
Mes = Mid(StrNome, 3, 2)
Ano = Mid(StrNome, 7, 2)
TT = 1
ElseIf Len(StrNome) = 6 Then
dia = Left(StrNome, 2)
Mes = Mid(StrNome, 3, 2)
Ano = Mid(StrNome, 5, 2)
TT = 1
End If
If TT = 1 Then
Dim validValues As String
validValues = "00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 "
If (InStr(1, validValues, Ano)) > 0 Then
ano1 = Ano + 2000
Else
ano1 = Ano + 1900
End If
Else
Exit Function
End If
If Mes > 12 Then
StrNome = ""
Exit Function
ElseIf Mes = 0 Then
StrNome = ""
Exit Function
End If
StrNome = dia & "/" & Mes & "/" & ano1
AchaData = (StrNome)
End Function
No evento ao validar ou LostFocus
Private Sub Data_Validate(Cancel As Boolean)
If Me.Data = "" Or IsNull(Me.Data) Then
Exit Sub
End If
Me.Data = AchaData(Me.Data)
Dim Mydata
Mydata = Me.Data
If IsDate(Mydata) Then
Else
Me.Data = ""
Cancel = True
End If
End Sub
Você pode usar esta ou melhorar
nao consegui
Lima
ou faça como o Cleverton disse:
txtdata = format(txtdata,"##/##/####") ... no evento LostFocus
Ou adicione um componente MaskEditBox e coloque na propriedade Mask: ##/##/####
Isso resolverá seu problema
Boa sorte
Eu uso assim:
No KeyDown:
No KeyUp
No KeyDown:
If Len(txt.Text) = 2 Then
txt.Text = txt.Text & "/"
txt.SelStart = Len(txt.Text)
ElseIf Len(txt.Text) = 5 Then
txt.Text = txt.Text & "/"
txt.SelStart = Len(txt.Text)
Exit Sub
End If
No KeyUp
If Len(txt.Text) = 2 Then
txt.Text = txt.Text & "/"
txt.SelStart = Len(txt.Text)
ElseIf Len(txt.Text) = 5 Then
txt.Text = txt.Text & "/"
txt.SelStart = Len(txt.Text)
Exit Sub
End If
Tópico encerrado , respostas não são mais permitidas