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]Campo numero sequencial

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Campo numero sequencial Empty Campo numero sequencial

    Mensagem  OLDRIVG 28/2/2012, 02:28

    Senhores do Forum. Boa noite!

    Em um formulário tem um campo "NumeroSequencial", que funciona tipo Auto Numeração no qual utilizo o código abaixo no evento atual do formulário.
    If Me.NewRecord Then
    On Error Resume Next
    Me![NumeroSequencial].DefaultValue = Nz(DMax("[NumeroSequencial]", "tbl_GERAL"), 1) + 1 - 1
    End If


    O código tá funcionando legal. O problema é que o BD já possui cerca de mil registros e gostaria de saber se alguém no forum sabe uma forma de incrementar o código acima para que conte os registros já exitente, continuando a sequncia após o último, pois o campo somente começa a registrar em novo registro. Ou seja, se já houver 100 registros, o código inicia a contagem a partir do 101 e començando com 1. Caso alguém saiba uma forma de incrementa, agradeço.
    Obrigado a todos

    avatar
    Convidad
    Convidado


    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  Convidad 28/2/2012, 02:44


    Olá!

    Tente assim:

    Me!NumeroSequencial.DefaultValue = Nz(DMax("[NumeroSequencial]", "tbl_GERAL"), 0) + 1
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  OLDRIVG 28/2/2012, 03:34

    Colega Norbs,

    Não funcionou. Não contou os registros existentes.
    Obrigado pelo empenho.


    Última edição por OLDRIVG em 28/2/2012, 03:46, editado 1 vez(es)
    avatar
    Convidad
    Convidado


    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  Convidad 28/2/2012, 03:43


    Entendo. Creio que não entendi sua questão.
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  OLDRIVG 28/2/2012, 03:58

    Colega Norbs,

    o código que estou usando só conta os registros que são inseridos após a sua implementação. Já existia no BD 1864 registros quando implementei o código
    em questão. Então ele vai começar a contar a partir do registro 1865, assim:

    o registro 1865 ele vai registrar no campo "NumeroSequencial" 0001;
    o registro 1866 ele vai registrar no campi "NumeroSequencial" 0002 e assim sucessivamente.
    O que estou precisando (caso seja possível) é de um código que faça a contagem desde o primeiro registro e não apartir do novo. Ou seja, que comece com 0001 e ao chegar em 1864 (que é o último registro antes de implementar o código) que continue 1865, 1866, etc.
    Caso não seja possível um código, terei que redigitar um por um dos registro para que funcione perfeitamente.
    Qualque esclarecimento, é só perguntar.
    Agradecido.
    avatar
    Convidad
    Convidado


    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  Convidad 28/2/2012, 04:16


    Uso o código a seguir para atribuir um número igual ao maior na tabela acrescido de 1 ao campo CodRec.

    Private Sub DataOrca_AfterUpdate()
    On Error GoTo Trato
    If Not IsNull(Me.DataOrca) And IsNull(Me.CodRec) Then
    Me.CodRec = Nz(DMax("[CodRec]", "[tabNF]")) + 1
    End If
    Exit Sub
    Trato:
    MsgBox Err.Description
    End Sub

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  OLDRIVG 28/2/2012, 23:15

    Colega Norbs,

    me desculpe, mas não entendi e não visualizei onde implementar o código enviado. Pelo meu parco conhecimento, vc utiliza dois campos (DataOrca e CodRec) em uma tabela tabNF, para ter um número sequencial, correto?
    Se for, eu só tenho um campo de número sequencial de nome "IdAfiliado", um formulário frm_Cadstro_Geral e uma tebela Tbl_Geral.
    Assim, solicito-lhe a gentileza de me orientar onde poria o código que vc utiliza.
    Agradeço.
    Abraços
    avatar
    Convidad
    Convidado


    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  Convidad 28/2/2012, 23:36


    Este é um código que eu copiei de um programa meu, então os campos tem nomes a ver com meu aplicativo.
    É só um exemplo funcional onde vc deve alterar os Nomes conforme os seus.

    ' depois de preencher o campo DataOrca
    Private Sub DataOrca_AfterUpdate()
    On Error GoTo Trato
    ' checa se o campo DataOrca não é Nulo e se o campo sequencial está Nulo
    ' pode tirar este If se não tiver nada pra checar antes
    If Not IsNull(Me.DataOrca) And IsNull(Me.CodRec) Then
    ' esta é a parte do código que insere o número sequencial
    ' pode ser colocada em outro evento que lhe convier
    Me.CodRec = Nz(DMax("[CodRec]", "[tabNF]")) + 1
    End If
    Exit Sub
    Trato:
    MsgBox Err.Description
    End Sub

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  OLDRIVG 29/2/2012, 00:04

    Colega Norbs,
    agradeço a sua colaboração e sei que o código enviado se refere a um outro aplicativo que não o meu.
    Obrigado.
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  OLDRIVG 13/3/2012, 01:49

    Senhores,
    continuando com dificuldades no campo numeração sequencial.
    Uso o código abaixo para implementar uma sequencia numérica:

    If Me.NewRecord Then
    On Error Resume Next
    Me![NumeroSequencial].DefaultValue = Nz(DMax("[NumeroSequencial]", "tbl_GERAL"), 0) + 1
    End If


    este código é implementado no evento atual do formulário. O que está ocorrendo é o seguinte: a numeração gerada no campo "NumeroSequencial" não coincide com a quantidade de registros existentes na tabela Tbl_Geral (fonte de registro). Ou seja, se na tabela há 30 registros, a numeração do campo em questão registra 29. E se ativo o indice de "indexado com duplicação não autorizada" na tabela dá erro informando duplicidade de dados, pois no campo "NumeroSequencial" gera numero de registro já existente. E ainda, se zero a tabela (apagando os registros), o código começa a contar depois do 2 registro. No registro "1" da tabela aparece no campo "0000" e não "0001". Alguém saberia me ajudar nesta dificuldade? Para tanto, informo as demais implementações exitentes relativas a este campo.

    Nas propriedades do formulário:

    Filtro = [IdAfiliado]=2
    Classificado = [tbl_GERAL].IDAfiliado
    No Atual está o código como já citado

    Nas propriedades do campo:

    Fonte do controle = IdAfiliado
    Formato = 0000
    Valor padrão = 2

    Desde já agradeço a todos.


    avatar
    Convidad
    Convidado


    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  Convidad 12/4/2012, 02:47


    Considerado como resolvido ou sem solução.
    avatar
    nilson.cordeiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 29/08/2016

    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  nilson.cordeiro 15/10/2016, 13:02

    Meste tendo sido solucionado fui tentar uma outra forma de criar uma numeração automática como forma de treinar e aprender um pouco.
    Pensei em utilizar a função while e Dlookup. A ideia seria procurar na tabela o valor da numeração e, enquanto o valor for encontrado, incrementar uma variável. Quando finalmente o valor for nulo, incrementar a variável mais uma vez (para gerar o próximo item da numeração) e atribuir o valor dessa variável ao campo numeração.

    Como não sou experiente em VBA tenho certeza q escreve o código com muitos erros (peço desculpas por isso).
    Alguém do fórum poderia dizer se esta lógica funciona e como escrever o código corretamente?
    Pensei em algo mais ou menos assim:

    Dim cod As Integer

    cod = 0

    Do While DLookup
    If IsNoNull(Me![numeração]) then
    cod = cod + 1
    Loop

    End while

    [numeração].Value = cod
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  Alexandre Neves 15/10/2016, 15:49

    Boa tarde, nilson.cordeiro
    Tenho visto mensagens suas e parece-me que coloca dúvidas em temas já resolvidos.
    Tem sido assim? Se fôr, separar-lhe-ei e, de futuro, respeite a organização do fórum: Nova dúvida->Novo tema
    Aguardo...


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    [Resolvido]Campo numero sequencial Empty Re: [Resolvido]Campo numero sequencial

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/5/2024, 14:45