CRIAR UM TEXTBOX QUE CADASTRE DATA

USUARIO.EXCLUIDOS 05/02/2007 19:43:59
#202089
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

CLEVERTON 05/02/2007 19:49:48
#202090
vc pode fazer assim no evento lostfocus do text

txtdata = format(txtdata,"##/##/####")
USUARIO.EXCLUIDOS 05/02/2007 20:03:01
#202092
Eu criei esta função para preencher um textobox com a data

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
USUARIO.EXCLUIDOS 05/02/2007 21:59:07
#202093
nao consegui

USUARIO.EXCLUIDOS 06/02/2007 06:49:11
#202104

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

3LTON 06/02/2007 07:49:39
#202106
Eu uso assim:

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