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


2 participantes

    Numerar campo tabela baseado no id inserido

    avatar
    joseantonio
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 142
    Registrado : 18/07/2011

    Numerar campo tabela baseado no id inserido Empty Numerar campo tabela baseado no id inserido

    Mensagem  joseantonio Sex 31 Jan - 0:20

    Senhores, tenho uma tabela que possui um "ID" chave primaria, na mesma tabela tem um campo tipo número "nr", nesse campo preciso que numere sequencial iniciando no ID, exemplo:

    ID         nr

    1          1
    1          2
    1          3
    1          4

    Consegui esse código abaixo, porém ele numera sequencial toda tabela, preciso que enumere por ID.

    Código:

    Dim I As Integer, Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT nr FROM [tbl detalhes proposta];")
    I = 0
    Do While Not Rst.EOF
    I = I + 1
    Rst.Edit: Rst(0) = I: Rst.Update: Rst.MoveNext
    Loop
    Set Rst = Nothing



    Última edição por joseantonio em Sex 31 Jan - 14:56, editado 1 vez(es)
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Numerar campo tabela baseado no id inserido Empty Re: Numerar campo tabela baseado no id inserido

    Mensagem  criquio Sex 31 Jan - 0:29

    Não entendi bem. Explique melhor para ver se entendemos.


    .................................................................................
    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.

    avatar
    joseantonio
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 142
    Registrado : 18/07/2011

    Numerar campo tabela baseado no id inserido Empty Re: Numerar campo tabela baseado no id inserido

    Mensagem  joseantonio Sex 31 Jan - 0:34

    Preciso que enumere sequencial os registros iniciando e terminando no campo ID, exemplo:

    Tenho vários lançamentos com mesmo ID, preciso que enumere sequencial, 1,2,3,4,5 de acordo com o número de ID que tenho, seria quase igual contar egistro, porém o contar registro não é sequencial, é 1, 1,1.

    Exemplo

    Lançamento ID 1 = nr 1
    Lnaçamento ID 1 = nr 2
    .
    .
    .

    Quando alterar o ID inicia novamente a contagem

    Lançamento ID 2 = nr 1
    Lançamento ID 2 = nr 2
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Numerar campo tabela baseado no id inserido Empty Re: Numerar campo tabela baseado no id inserido

    Mensagem  criquio Sex 31 Jan - 16:22

    Você pode fazer usando dois Recordsets, sendo que em um usará o DISTINCT para pegar apenas um ID de cada e o segundo fará a atualização de todos ID na sequência. Tente em uma cópia do aplicativo para preservar o original caso dê erros:

    Código:
    Dim I As Integer, Rst1 As DAO.Recordset, Rst2 As DAO.Recordset

    Set Rst1 = CurrentDb.OpenRecordset("SELECT DISTINCT [Lançamento ID] FROM [tbl detalhes proposta];")

    I = 0

    Do While Not Rst1.EOF

        Set Rst2 = CurrentDb.OpenRecordset("SELECT nr FROM [tbl detalhes proposta] WHERE [Lançamento ID]=" & Rst1([Lançamento ID]) & "")

        Do While Not Rst1.EOF

            I = I + 1

            Rst2.Edit
            Rst2(0) = I
            Rst2.Update
            Rst2.MoveNext

        Loop

        I = 1

        Rst1.MoveNext

    Loop

    Rst1.Close
    Set Rst1 = Nothing

    Rst2.Close
    Set Rst2 = Nothing


    .................................................................................
    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.


    Conteúdo patrocinado


    Numerar campo tabela baseado no id inserido Empty Re: Numerar campo tabela baseado no id inserido

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Sex 22 Nov - 7:18