MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Numeração automática num campo

    avatar
    roselito
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 34
    Registrado : 16/08/2011

    [Resolvido]Numeração automática num campo Empty [Resolvido]Numeração automática num campo

    Mensagem  roselito em 13/1/2019, 23:13

    Boa Noite, tenho um problema com numeração automática
    Tenho um campo num formulário para numeração automática só que quando chega a 10 registo não passa de 10 com o seguinte código:
    Código:
    Private Sub Form_Current()
    If Me.NewRecord Then
    On Error Resume Next 'Apenas por segurança...
    Me![Registo].DefaultValue = Nz(DMax("[Registo]", "Ordem"), 0) + 1
    End If
    End Sub

    Código:
    Private Sub Form_Load()
    Me.Registo.Locked = True
    End Sub

    Obrigado
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3101
    Registrado : 21/04/2011

    [Resolvido]Numeração automática num campo Empty Re: [Resolvido]Numeração automática num campo

    Mensagem  Marcelo David em 14/1/2019, 00:16

    Boa noite noite,
    não entendi o problema.
    E numeração automática a própria tabela já faz sem código.


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    avatar
    roselito
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 34
    Registrado : 16/08/2011

    [Resolvido]Numeração automática num campo Empty Numeração automática num campo

    Mensagem  roselito em 14/1/2019, 00:30

    Boa Noite
    Sem na tabela tem para numeração automática só que quando se apagam registros mantem o histórico com este código apago e começa novamente de zero, só que não passa de 10
    Para fazer testes e muto mas ventajoso.
    Obrigado
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3101
    Registrado : 21/04/2011

    [Resolvido]Numeração automática num campo Empty Re: [Resolvido]Numeração automática num campo

    Mensagem  Marcelo David em 14/1/2019, 01:05

    Então, ainda continua confuso...
    Você pretende que não ultrapasse 10 registros ou que ultrapasse?


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    avatar
    roselito
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 34
    Registrado : 16/08/2011

    [Resolvido]Numeração automática num campo Empty Numeração automática num campo

    Mensagem  roselito em 14/1/2019, 05:54

    Bom dia
    Quero que ultrapasse os 10 registos se possível até o infinito   99999999999999......

    Como se pode ver na imagem já adicionei 12 Registo e no campo registo não vai para alem de 10
    [Resolvido]Numeração automática num campo 412
    [Resolvido]Numeração automática num campo 512
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3101
    Registrado : 21/04/2011

    [Resolvido]Numeração automática num campo Empty Re: [Resolvido]Numeração automática num campo

    Mensagem  Marcelo David em 15/1/2019, 20:23

    Agora entendi...  Laughing

    Vamos lá...
    Você está usando o Dmax. Essa função retorna o valor máximo do campo da tabela. Por exemplo:
    Digamos que temos um campo ValorProduto, nessa campo, temos os seguintes valores: $ 10, $20, $5.

    Se aplicarmos o DMax nesse campo, será retornado 20, pois é o maior valor registrado no campo ValorProduto.
    E como está sendo somado mais 1, irá retornar 21.

    Na sua tabela, o maior valor no campo Registo deve ser 9, por isso sempre irá retornar 10 independente da quantidade de registros.
    A não ser que no campo Registo seja inserido um valor maior que 9, daí irá retornar o valor inserido mais 1.

    Para contornar isso, use o Dcount, que conta a quantidade registros em uma tabela.

    Teste dessa forma e veja se é o pretendido:

    Código:
    Private Sub Form_Current()
       If Me.NewRecord Then
          On Error Resume Next 'Apenas por segurança...
          Me![Registo].DefaultValue = Nz(DCount("*", "Ordem"), 0) + 1
       End If
    End Sub


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    avatar
    roselito
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 34
    Registrado : 16/08/2011

    [Resolvido]Numeração automática num campo Empty Numeração automática num campo

    Mensagem  roselito em 16/1/2019, 22:51

    Boa Noite, Marcelo David
    Muito obrigado pela tua explicação que ajudou muito, com a alteração de DMax para DCount, o problema ficou solucionado já fiz teste e esta a correr tudo bem.
    Mais uma vez, muito obrigado pela tua ajuda.

      Data/hora atual: 7/7/2020, 23:40