Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) selecionador de datas e mascara juntos


Humm

Pergunta

o access 2007 já vem com um selecionador de datas nativo, que mostra um calendario onde você seleciona a data e ele preenche o campo.

porem, se eu usar mascara de entrada, o selecionador n aparece mais.

alguém sabe como fazer para usar mascara + selecionador?

por exemplo, pra forçar a exibição do selecionador de datas:

DoCmd.RunCommand acCmdShowDatePicker
pra definir a mascada de entrada do campo:
Me.CAMPO.InputMask = "00/00/0000;0;_"

já tentei forçar a exibicao do selecionador no campo com mascara, até aparece, e da pra selecionar.. mas ao selecionar, da erro.

então to pensando num codigo que faça o seguinte..

ao clicar no campo, mostre o selecionadore remova a mascara de entrada.. porem, se você apertar qualquer tecla pra digitar, que entre a mascara e saia o selecionador.. e assim que terminar, suma a mascara..

sumir a mascara, eu coloco no afterupdate

mas pra fazer entrar a mascara ao digitar, n to conseguindo..

Editado por Humm
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

consegui =)

Private Sub DAVE_AfterUpdate()
    Me.DAVE.InputMask = ""
End Sub

Private Sub DAVE_KeyDown(KeyCode As Integer, Shift As Integer)
    If Me.DAVE.InputMask = "" Or IsNull(Me.DAVE.InputMask) Then
        Me.DAVE.InputMask = "00/00/0000;0;_"
    End If
End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

tive que incrementar o codigo, pois ao selecionar uma data no calendario, não chega a gerar um update no campo. então ao pressionar ENTER ou TAB, acabava limpando o campo e abrindo a mascara de entrada.

Private Sub DATA_AfterUpdate()
    Me.DATA.InputMask = ""
End Sub

Private Sub DATA_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn Or KeyCode = vbKeyTab Then
        GoTo FIM
    ElseIf Me.DATA.InputMask = "" Or IsNull(Me.DATA.InputMask) Then
        Me.DATA.InputMask = "00/00/0000;0;_"
    End If
FIM:
End Sub

Editado por Humm
Link para o comentário
Compartilhar em outros sites

  • 0

Valeu amigo ! 


Sua postagem me ajudou muito fiz uma pequena adaptação no seu código para aceitar data formato dd/mm/yy 

 

Private Sub DATA_AfterUpdate()
    Me.DATA.InputMask = ""
End Sub

Private Sub DATA_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn Or KeyCode = vbKeyTab Then
        GoTo FIM
    ElseIf Me.DATA.InputMask = "" Or IsNull(Me.DATA.InputMask) Then
        Me.DATA.InputMask = "99/99/9999;0"
    End If
FIM:
End Sub

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...