MASCARA DE DATA COM FORMATA?ÃO

FFABIOG 08/10/2015 13:32:36
#452316
Senhores,

Como fazer uma formatação de data quando textbox_data já está com a máscara de data definida?

Vou explicar:
No meu textbox_data na propriedade text eu coloquei as duas barras da data = / /
Quando inicializar o meu form o usuário vai entender que não precisa digitar as barras.

No evento KeyPress quando eu digitar a data 25122014 tem que funcionar assim:

Digitei: 2
Aparece: 2 / /

Digitei: 5
Aparece: 25/ /

Digitei: 1
Aparece: 25/1 /

Digitei: 2
Aparece: 25/12/

Digitei: 2
Aparece: 25/12/2

Digitei: 0
Aparece: 25/12/20

Digitei: 1
Aparece: 25/12/201

Digitei: 4
Aparece: 25/12/2014


Pesquisei por toda a internet e não achei nenhum código que faça isso.
F001E 08/10/2015 14:12:20
#452318
Faça isso no KeyPress....

Private Sub textbox_data_KeyPress(KeyAscii As Integer)

If KeyAscii <> vbKeyBack Then
If Len(textbox_data.Text) = 2 Or Len(textbox_data.Text) = 5 Then
textbox_data.Text = textbox_data.Text & [Ô]/[Ô]
textbox_data.SelStart = Len(textbox_data.Text)
End If
End If
textbox_data.MaxLength = 10

End Sub
FFABIOG 08/10/2015 14:48:36
#452323
F001E

Ok, mas as duas barras têm que aparecer também.
Ou seja, as duas barras já estão na propriedade text como a mascara da data.
F001E 09/10/2015 09:17:13
#452359
então faça com o MaskEditBox é mais fácil....
FFABIOG 09/10/2015 11:57:16
#452370
F001E, perfeito!

Mas está gerando erro ao incluir a data no banco.

Tentei colocar uma string de data no txtData não não deu certo também.

Como tratar esse erro?
F001E 09/10/2015 12:02:31
#452371
qual banco de dados esta usando e qual é o erro ?
FFABIOG 09/10/2015 12:40:02
#452374
Banco: Access

Erro:
Run-teme error [ô]-2147....
Tipo não correspondente.

Linha do código
ConnectDB
rs.Open [Ô]select * from CAD_AGE[Ô], db, 3, 3
rs.AddNew
rs(1) = [Ô][Ô] & txt_cod
rs(4) = [Ô][Ô] & Me.txt_data_emi
rs(5) = [Ô][Ô] & txt_hora
rs(6) = [Ô][Ô] & txt_cod_cli
rs(7) = [Ô][Ô] & cbc_cli
rs(8) = [Ô][Ô] & cbc_tipo
rs(9) = [Ô][Ô] & txt_des
rs(10) = [Ô][Ô] & cbc_sta
rs(11) = [Ô][Ô] & txt_obs
rs.Update
Set rs = Nothing
db.Close:
Set db = Nothing
F001E 09/10/2015 14:08:11
#452379
hummm Access ? Acho que tem que converter para CDate(Me.txt_data_emi).
dá uma fuçada no google....

ConnectDB
rs.Open [Ô]select * from CAD_AGE[Ô], db, 3, 3
rs.AddNew
rs(1) = [Ô][Ô] & txt_cod
rs(4) = [Ô][Ô] & CDate(Me.txt_data_emi)
rs(5) = [Ô][Ô] & txt_hora
rs(6) = [Ô][Ô] & txt_cod_cli
rs(7) = [Ô][Ô] & cbc_cli
rs(8) = [Ô][Ô] & cbc_tipo
rs(9) = [Ô][Ô] & txt_des
rs(10) = [Ô][Ô] & cbc_sta
rs(11) = [Ô][Ô] & txt_obs
rs.Update
Set rs = Nothing
db.Close:
Set db = Nothing
FFABIOG 13/10/2015 11:59:54
#452451
F001E

O comando [Ô]CDate(Me.txt_data_emi)[Ô] não deu certo.
Ele retorna só os numero e não com as barras,
Como no Access o parâmetro está como data, gera o erro.
Faça seu login para responder