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

    Incrementar campo limitando a uma data

    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    Incrementar campo limitando a uma data Empty Incrementar campo limitando a uma data

    Mensagem  SAPMM 19/4/2018, 13:56

    Senhores,

    Tenho o código abaixo que utilizo para incrementar a numeração do campo "Ordem", só que atualmente incremento em todo os registros, porém gostaria de limitar aos registros de uma data. De modo que na tabela tenho datas de dos dias do mês, sendo que em um dia pode ter quatro registros, logo queria utilizar o incremento restrito ao registros de cada data.



    Código:
    Private Sub ORDEM_AfterUpdate()
    Dim rs As Recordset, NovaOrdem As Integer, NUM As String
    DoCmd.RunCommand acCmdSaveRecord

    If IsNull(Me.ORDEM) Then
      Exit Sub
    End If

    Set rs = CurrentDb.OpenRecordset("SELECT [tbl_fluxo].Num, [tbl_fluxo].Ordem " & _
                                    "FROM [tbl_fluxo] " & _
                                    "ORDER BY [tbl_fluxo].ordem;")

    With rs
       .MoveFirst
       .FindFirst "[ordem]= " & Me.ORDEM
       If .NoMatch Then
           .FindFirst "[num]= '" & Me.NUM & "'"
           .Edit
           !ORDEM = Me.ORDEM
           .Update
           GoTo Final

       Else
           NovaOrdem = Me.ORDEM
           NUM = Me.NUM
           
           Do While Not .EOF
               .Edit
               !ORDEM = !ORDEM + 1
               .Update
               .MoveNext
           Loop
       End If

    End With

    DoCmd.RunSQL "UPDATE [tbl_fluxo] SET ordem =" & NovaOrdem & " WHERE num = " & Me.NUM & ";"
    Me.Requery




    GoTo Final

    Final:
    rs.Close
    Set rs = Nothing
    On Error Resume Next
    End Sub
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Incrementar campo limitando a uma data Empty Re: Incrementar campo limitando a uma data

    Mensagem  Noobezinho 19/4/2018, 15:50

    Jose

    Qual é o formato da numeração ORDEM?

    A tabela Nova Ordem é para ajudar no incremento?

    Esse incremento que deseja para cada data, reinicia do um?


    Aguardo...


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    Incrementar campo limitando a uma data Empty Re: Incrementar campo limitando a uma data

    Mensagem  SAPMM 19/4/2018, 16:07

    Prezado boa tarde,

    Segue as respostas:

    Qual é o formato da numeração ORDEM?
    R: Número

    A tabela Nova Ordem é para ajudar no incremento?
    R: Correto, para ajudar no incremento


    Esse incremento que deseja para cada data, reinicia do um?
    R: Sim reinicia no um. Por exemplo, se no dia 19/04 tem três registros, e desejar alterar a ordem dos registros, posso ir no registro que está com o campo "Ordem" preenchido com o número 3 e alterar o campo para o valor 1, os outros dois registros serão incrementados a partir do 1, de modo que o campo ordem fica incrementado para 2 e 3 para os outros registros.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Incrementar campo limitando a uma data Empty Re: Incrementar campo limitando a uma data

    Mensagem  Noobezinho 19/4/2018, 21:56

    Isso dá para automatizar, a cada dia ele retorna ao número 1.

    Mas esse código deverá ter o dia para se saber de qual dia é o registros, ou terá

    códigos 01,02,03 repetitivos.

    Sugiro colocar a data no final dele assim: 01_190418, 02_190418, etc...

    Assim, só de "bater o olho" já saberá o dia do registro.

    Que tal?

    Aguardo...


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    Incrementar campo limitando a uma data Empty Re: Incrementar campo limitando a uma data

    Mensagem  SAPMM 20/4/2018, 13:27

    Prezado bom dia,

    Não consegui entender com tratar, pois em uma determinada data poderá ter diversos registros, mais que três.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Incrementar campo limitando a uma data Empty Re: Incrementar campo limitando a uma data

    Mensagem  Noobezinho 20/4/2018, 13:51

    Assim

    Digamos que na data de hoje, adicionou 3 registros na tabela, então:


    01/200418;02/200418;03/200418

    Amanhá, outros 3 registros:

    01/210418;02/210418;03/210418

    Enquanto tiver adicionando registro no dia, o código irá incrementando, para esse dia.

    E esse incremento muda automaticamente e reinicia no 01 para a nova data.

    Pode escolher se deseja  a barra direita ( / ), traço ( - ) ou undeline ( _ ) para

    separa o código do dia, mas uma vez escolhido, será sempre ele.

    É isso.


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    Incrementar campo limitando a uma data Empty Re: Incrementar campo limitando a uma data

    Mensagem  SAPMM 20/4/2018, 21:03

    Entendi. Mas se depois de adicionado os registros de uma determinada quiser mudar a ordem dos mesmos no form? de modo que o registro que estava com o campo ordem igual a 3 no dia 19/04, queira mudar o campo ordem de 3 para 1, e os outros dois registros tem o campo Ordem atualizado automaticamente para 2 e 3? Essa parte que não estou conseguindo fazer.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Incrementar campo limitando a uma data Empty Re: Incrementar campo limitando a uma data

    Mensagem  Noobezinho 20/4/2018, 21:22

    O código do registro é a ID (identidade) dele.

    É ele que faz com que o registro seja único.

    Se deseja mudar a ordem frequentemente de um registro, sugiro que o faça usando um campo, vou dar o nome

    aqui de numClassific.

    Ao invés de usar a tabela como fonte de registro do formulário, utilize uma consulta, basta clicar no botão com

    3 pontinhos ( ... ) na propriedade Fonte de registro do formulário para cria-la, e então classifique esse campo (numClassif)

    na ordem crescente.

    Assim sempre que quiser após alterar a classificação dos registros,  clica-se  num botão para reclassificar os registros

    do formulário(Requery).

    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    Conteúdo patrocinado


    Incrementar campo limitando a uma data Empty Re: Incrementar campo limitando a uma data

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 07:24