MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    avatar
    Antonybrazil
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 108
    Registrado : 13/04/2011

    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal Empty Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    Mensagem  Antonybrazil 22/9/2011, 16:49

    Bom dia! estou tentando criar uma máscara de entrada que ao se digitar ela seja preenchida da direita para esquerda e conforme o número for crescendo ele vai sendo separado por Virgula (após 2 digitos) e por Ponto (após 5 digitos).

    1,23
    12,34
    123,45
    1.234,56

    Estou usando o ! (exclamação) mas não esta dando a leitura da direita para esquerda.
    Outro problema é o Ponto final sempre aparece, mesmo não havendo 6 digitos. ( . 12,34)

    A máscara que criei é:
    !9.990,00;0;_
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal Empty Re: [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    Mensagem  criquio 22/9/2011, 17:02

    Tente assim, nos eventos "Ao carregar" do formulário e no "Após atualizar" do campo:

    Me.NomeDoCampo = Format(Me.NomeDoCampo, "#,##0.00")


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal Empty Re: [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    Mensagem  Assis 22/9/2011, 19:25

    Luís António

    Gostava de ver o seu exemplo resolvido, pois já tentei o mesmo exemplo e não consegui.

    Entretanto desenvolvi este exemplo, veja se serve e espero que alguém tente solucionar como o Luís deseja

    http://dl.dropbox.com/u/8169944/Valor%20Como%20Multibanco.zip


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Antonybrazil
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 108
    Registrado : 13/04/2011

    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal Empty Re: [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    Mensagem  Antonybrazil 22/9/2011, 21:16

    Ainda não deu certo pois quando eu digito 123 aparece 123,00. Enquanto o que eu desejo é 1,23.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal Empty Re: [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    Mensagem  Assis 22/9/2011, 21:58

    Qual a versão do Access 2003 ?

    No meu se digitar 123 e der enter o campo fica com o 1,23 ...

    Como está formatado o campo ? Moeda ?

    Ou então ponha aqui o BD para eu analisar.


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Antonybrazil
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 108
    Registrado : 13/04/2011

    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal Empty Re: [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    Mensagem  Antonybrazil 23/9/2011, 04:23

    Olá Assis e Criquio. Peguei um pouco de cada código que me passaram e adaptei a minha necessidade. Problema resolvido. Obrigado a todos

    If Len(Me.CD4) > 2 And Len(Me.CD4) < 6 Then
    Me.CD4 = Format(Me.CD4, "#\,##")
    ElseIf Len(Me.CD4) > 5 Then
    Me.CD4 = Format(Me.CD4, "#\.###\,##")
    End If
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal Empty Re: [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    Mensagem  Assis 23/9/2011, 16:26

    Boa tarde
    Luís António

    Em que evento está a colocar a fórmula?
    E se o campo só tiver 2 digitos ?

    Cumprimentos


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Antonybrazil
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 108
    Registrado : 13/04/2011

    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal Empty Re: [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    Mensagem  Antonybrazil 24/9/2011, 03:57

    Olá Assis. Eu mudei um pouco seu código. Proibi o uso da virgula e do ponto final pois se usados alteram o formato desejado. Como eu também não quero permitir um valor muito alto eu limitei a quantidade de digitos do campo. Ficou em três eventos.

    Private Sub CV_BeforeUpdate(Cancel As Integer)

    If Len(Me.CV) > 8 Then
    MsgBox "Tamanho máximo de oito dígitos excedido.", vbOKOnly + vbExclamation, "Atenção"
    Cancel = True
    End If

    End Sub

    Private Sub CV_AfterUpdate()

    If Len(Me.CV) > 2 And Len(Me.CV) < 6 Then
    Me.CV = Format(Me.CV, "#\,##")
    ElseIf Len(Me.CV) > 5 Then
    Me.CV = Format(Me.CV, "#\.###\,##")
    End If


    Private Sub CV_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
    Case 8, 48 To 57 ' {Backspace}, {0} a {9}, aceita estes caracteres. ' Continua
    Case Else
    KeyAscii = 0 ' Demais teclas, não aceita.
    End Select
    End Sub
    avatar
    Antonybrazil
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 108
    Registrado : 13/04/2011

    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal Empty Re: [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    Mensagem  Antonybrazil 24/9/2011, 04:05

    Desculpe. Fiquei sem te responder sobre no caso de um ou dois número digitados. Por favor altere o código para:

    If Len(Me.CV) > 0 And Len(Me.CV) < 6 Then
    Me.CV = Format(Me.CV, "0\,##")
    ElseIf Len(Me.CV) > 5 Then
    Me.CV = Format(Me.CV, "#\.###\,##")
    End If

    Conteúdo patrocinado


    [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal Empty Re: [Resolvido]Máscara de Entrada da direita para esquerda com separador de milhar e decimal

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 12:52