MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Compartilhe

    DiogenesSousa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 29/01/2018

    [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  DiogenesSousa em Dom 25 Fev 2018, 04:31

    Boa noite,

    Gostaria de saber como posso proibir que um numero seja digitado duas vezes em um campo do microsoft access. Ex.: No campo "Referencia" seja permitido a ocorrência de apenas um numero 5, se acontecer de digitarem 55 ira aparecer uma mensagem informando que não é permitido.

    Desde já Agradeço!

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  Noobezinho em Dom 25 Fev 2018, 12:47

    Diogenes

    Experimente o código abaixo, colocando-o na evento Antes de Atualizar da caixa de texto (Referencia ).

    Código:

    Private Sub Referencia _BeforeUpdate(Cancel As Integer)  '<--- cuidado para não repedir essa linha a a ultima
    Dim x As Integer

    For x = 1 To Len(Referencia ) - 1
          
          If Mid(Referencia , x, 1) = Right(Referencia , 1) Then
             Beep
             MsgBox "erro"
             DoCmd.CancelEvent
             Exit Sub
          End If
      
    Next x
    End Sub

    [ ]'s

    DiogenesSousa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 29/01/2018

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  DiogenesSousa em Dom 25 Fev 2018, 15:56

    Show de bola!
    Mas peço perdão porque fiz a pergunta errada, na verdade eu vou precisar do 11,22,33.... O que estou tentando evitar de fato é que um numero seja digitado duas vezes Ex.: 01, 05, 11, 20, 11 nesse caso o numero 11 foi digitado duas vezes dentro do campo e se possível não quero permitir essa ocorrência.

    Desde já agradeço!

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  Noobezinho em Dom 25 Fev 2018, 17:11

    Bem, Agora a digitação deverá ser com dois algarismos, se faltar 1 algarismo na digitação ele vai berrar!


    Código:

    For x = 2 To Len(Texto2)
          If Len(Texto2) Mod 2 = 0 Then
             If Mid(Texto2, x, 1) = Right(Texto2, 2) Then
                Beep
                MsgBox "erro"
                DoCmd.CancelEvent
                Exit Sub
             End If
             x = x + 2
          Else
             MsgBox "Digitar numero com 2 algarismos ou duplo de 2"
             Exit Sub
          End If
    Next x

    Teste, fiz alguns teste e funfou.

    DiogenesSousa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 29/01/2018

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  DiogenesSousa em Dom 25 Fev 2018, 17:51

    Ainda não funcionou.
    Preciso que ele barre apenas números iguais na sequencia Ex.: 01-05-45-55-01-45
    no exemplo acima o "01" e o "45" foram digitados duas vezes no campo. Gostaria que só fosse permitido digitar uma vez o numero dentro da sequencia.

    Private Sub Referencia_BeforeUpdate(Cancel As Integer)

    For x = 2 To Len(Referencia)
         If Len(Referencia) Mod 2 = 0 Then
            If Mid(Referencia, x, 1) = Right(Referencia, 2) Then
               Beep
               MsgBox "erro"
               DoCmd.CancelEvent
               Exit Sub
            End If
            x = x + 2
         Else
            MsgBox "Digitar numero com 2 algarismos ou duplo de 2"
            Exit Sub
         End If
    Next x

    End Sub

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  Noobezinho em Dom 25 Fev 2018, 18:00

    peraí

    Tem traços no meio desses números?

    O código funciona com somente números


    Última edição por Noobezinho em Dom 25 Fev 2018, 18:06, editado 1 vez(es)

    DiogenesSousa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 29/01/2018

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  DiogenesSousa em Dom 25 Fev 2018, 18:05

    Sim, o usuário irá usar traços ou espaços para separa os números

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  Noobezinho em Dom 25 Fev 2018, 18:07

    Tempo perdindo, em nenhum momento falou sobre isso

    E a coisa complicou e acabou meu tempo hoje.

    qual é o tamanho de campo e explique o que é esses algarismos.

    DiogenesSousa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 29/01/2018

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  DiogenesSousa em Seg 26 Fev 2018, 13:04

    Perdão por não ter explicado corretamente, esse campo sera utilizado para um controle de materiais e preciso desse padrão para outra finalidade. O tamanho do campo com os espaços ou traços deve ter "135".

    obs.: O usuário vai digitar uns números e ira separa-los por espaços ou traços, o objetivo e proibir que o usuário escreva duas vezes o mesmo numero no campo. Ex.: No campo "Referencia" o usuário digitou a sequencia 01-06-08-22-55-87-01-68-08... Nessa situação foi digitado os números 01 e 08 mais de uma vez. Gastaria de proibir que isso aconteça.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  Noobezinho em Seg 26 Fev 2018, 13:49

    Já pensou e fazer uma mascara de entrada?

    Assim, define-se o traço e o camarada só irá digitar os algarismos.


    DiogenesSousa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 29/01/2018

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  DiogenesSousa em Ter 27 Fev 2018, 02:32

    obrigado

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Impedir que um numero seja digitado duas vezes em um campo

    Mensagem  Noobezinho em Ter 27 Fev 2018, 10:13

    ué?

    Resolveu?

    A máscara de entrada é para o usuário digitar somente os números, e assim, vc já define o traço  " - "  como separador das dezenas.

    E isso ajuda a verificação de repetição.

    A máscara é uma coisa

    A verificação de repetição é outra  Wink

    Agora, se resolveu, post a solução!

      Data/hora atual: Dom 27 Maio 2018, 04:21