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

    Numeração automática - ACCESS 2013

    Compartilhe
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Ter 06 Jan 2015, 8:46 pm

    Olá Boa semana para todos!
    Venho com uma problemática.
    Novamente estou a pedir ajuda desta comunidade. Estou a fazer uma aplicação no Access 2013 e deparei-me com uma situação no qual não entendo muito bem.
    Sou iniciante em programação. E estou tendo meus primeiros contatos com VBA. Portanto segue o problema.

    Tipo: Inserção automática de códigos.

    Problema: Inserir em ordem, os itens do subform para cada código do form principal.

    Organização: O projeto está feito dessa forma. Um Form Principal chamado “CAD_Familias” dividido em várias abas. Na Aba Inventário está o Sbform  “IDIventario subformulário”

    Esquema:
    Form “CAD_Familias” – Tabela “Tab_Familias” – Código “ID” tipo “Numeração automática”
    SubForm “IDIventario subformulário” – Tabela “IDIventario” – Codigo “IdIventa” tipo “número”

    [Você precisa estar registrado e conectado para ver esta imagem.]

    Código Utilizado:

    Tenho um Módulo com o nome de “Numeração”


    Option Compare Database
    Option Explicit
    Function numeroLivre(argTabela As String, argCampo As String) As Long
       Dim i As Long
            'Atribui o valor zero à variável de contagem, assim
       'o valor inicial do resultado será 1. Para modificar o
       'início da contagem basta alterar o valor desta variável.
       i = 0
            Do
           'Incrementa o valor da variável
           'de contagem
           i = i + 1
           
           'Verifica se existe no campo e tabela informados o valor
           'atual da variável de contagem.
           If IsNull(DLookup(argCampo, argTabela, argCampo & "=" & i)) Then
               'Se não existir retorna o valor
               numeroLivre = i
               Exit Function
           End If
       Loop

    End Function

    E no Subform “IDIventario subformulário” Tenho no Evento Antes de atualizar.

    Private Sub Form_BeforeUpdate(Cancel As Integer)
       
       'Verifica se o campo codFunc está nulo. Se estiver
       'significa que é um novo registro.
       If IsNull(IdIventa) Then
           'Atribui ao campo o próximo número livre dentro
           'do campo codFunc na tabela Funcionario.
           IdIventa.Value = numeroLivre("IDIventario", "IdIventa")
       End If

    E um Botão Excluir

    Private Sub BotaoExcluir_Click()
    On Error GoTo Err_BotaoExcluir_Click

       If MsgBox("Deseja excluir este item?", vbYesNo + vbQuestion, "Funcionários") = vbYes Then
           DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
           DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
       End If

    Exit_BotaoExcluir_Click:
       Exit Sub

    Err_BotaoExcluir_Click:
       MsgBox Err.Description
       Resume Exit_BotaoExcluir_Click
       
    End Sub
       
    End Sub

    Ao que acontece.
    Quando digito para inseri os itens ele faz uma verificação na tabela fonte do subform “IDIventario subformulário” e analisa o último número adicionado, assim dando continuidade na sequência.

    O que desejo.
    Para cada item no formulário principal seja adicionado uma nova sequência. Ou seja para cada pessoa, a numeração dos itens sempre começar em um (1).

    Agradeço se puderem ajudar.


    Última edição por Mimexx em Sex 30 Jan 2015, 3:57 am, editado 1 vez(es)
    avatar
    daniloreiis
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 329
    Registrado : 14/02/2011

    Ajuda - Numeração automática - ACCESS 2013

    Mensagem  daniloreiis em Qui 08 Jan 2015, 11:18 am

    Ola amigo bom dia!

    poderia disponibilizar o projeto para melhor ajuda-lo ?


    .................................................................................
    Att, Danilo Reis
    -------------------------------------------------------------------------------------------------------------------------------------------------

    Se alguém não quiser trabalhar, não coma também.
    2 Tessalonicenses 3:10
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Qui 08 Jan 2015, 4:14 pm

    Trata-se de uma aplicação simples para cadastrar famílias desabrigadas.
    Cadastra o Representante da Família e seus dependentes. E também cadastra os utensílios, móveis,  que acompanham a família para o abrigo. Esses utensílios alguns ficam no box com a família outros no inventário. O iventário tem movimentação constante de objetos. e toda essa movimentação deve ser registrada.

    Projeto em andamento

    Download:  Projeto

    Fico grato por sua ajuda. E se possível novas sugestões para melhoria da ferramenta. Obrigado.
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Seg 19 Jan 2015, 9:07 pm

    Alguém sabe?
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Sex 30 Jan 2015, 3:56 am

    up
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: Numeração automática - ACCESS 2013

    Mensagem  Noobezinho em Sex 30 Jan 2015, 11:58 am

    Posso tentar ajudar, mas

    Esperar por 1000 segundos para poder baixar o aplicativo, é demais, concorda?

    Pode colocar ele no Mega, No dropbox ou aqui mesmo se o comprimir como um arquivo.zip  tamanho menor que 2.998 mb
    e anexar junto ao post.
    Para isso é só clicar no botão escolher arquivo localizado abaixo do retangulo de digitação de mensagens
    e depois clicar no botão enviar ao lado desse botão.


    []'s

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Sab 31 Jan 2015, 2:20 am

    Veja bem... Nesse exemplo tenho tenho um form e um subform. Gostaria que para cada registro do Form, haja numeração automática começando do um(1).


    Veja que no primeiro registro tenho: peça 1, peça 2 e peça 3 cada qual com o código de numeração igual ao numero da peça.
    Registro 1 - Nome: Zabalaio Idade: 18
    Código Item
    1 peça 1
    2 peça 2
    3 peça 3

    Registro 2 - Nome: Carioca Idade: 36
    Código Item
    4 peça 1
    5 peça 2
    6 peça 3

    Como eu faria para deixar assim? Para cada registro uma nova numeração.
    Registro 1 - Nome: Zabalaio Idade: 18
    Código Item
    1 peça 1
    2 peça 2
    3 peça 3

    Registro 2 - Nome: Carioca Idade: 36
    Código Item
    1 peça 1
    2 peça 2
    3 peça 3

    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Sab 31 Jan 2015, 2:40 am

    up
    Exemplo:Arquivo
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Sab 31 Jan 2015, 3:09 am

    Esse código, por exemplo, verificar quais os números que já foram inseridos e continua a partir do ultimo adicionado.

    Código:
    Function numLivre(argTabela As String, argCampo As String) As Long

        Dim i As Long
       
        'Atribui o valor zero à variável de contagem, assim
        'o valor inicial do resultado será 1. Para modificar o
        'início da contagem basta alterar o valor desta variável.
        i = 0
       
        Do
            'Incrementa o valor da variável
            'de contagem
            i = i + 1
           
            'Verifica se existe no campo e tabela informados o valor
            'atual da variável de contagem.
            If IsNull(DLookup(argCampo, argTabela, argCampo & "=" & i)) Then
                'Se não existir retorna o valor
                numLivre = i
                Exit Function
            End If
        Loop

    End Function

    Seria possível analisar o código do form verificar se ja foi adicionado algum codigo no suform , se não, e adicionar uma nova sequencia no subform? e se já tiver sequencia, continuar preenchendo a partir do ultimo adicionado?
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: Numeração automática - ACCESS 2013

    Mensagem  Noobezinho em Sab 31 Jan 2015, 10:44 am

    Acredito que dê pra fazer, mas pergunto:

    Da forma que deseja irá ter códigos iguais para mais de uma pessoa exemplo:

    Vejo numa pesquisa realizada, que eu tenho 3 peças com o código de nº 1

    Como irei saber a qual pertence cada peça?

    Então sugiro, o que terá melhor visibilidade é criar o código de cada peça
    atrelada ao código da pessoa. exemplo:

    Registro 1 - Nome: Zabalaio Idade: 18
    Código    Item
    1.1        peça 1
    1.2        peça 2
    1.3        peça 3


    Registro 2 - Nome: Carioca Idade: 36
    Código    Item
    2.1        peça 1
    2.2        peça 2
    2.3        peça 3
    Veja que da forma como escrevi, de imediato fica-se sabendo a que código pertence cada peça
    Já baixe o exemplo
    Aguardo tua resposta.

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Sab 31 Jan 2015, 7:41 pm

    Desculpe não ter passado esse detalhe.

    O código original da tabela pode permanecer, gostaria que em um campo pudesse numerar a ordem automaticamente, sempre começando do um(1) para cada registro novo. É meramente visual. não será utilizado para pesquisas. No entanto é interessante ser alocado no banco.

    Registro 1 - Nome: Zabalaio Idade: 18
    Código  Ordem          Item
    1          1                peça 1
    2          2                peça 2
    3          3                peça 3


    Registro 2 - Nome: Carioca Idade: 36
    Código  Ordem          Item
    4          1                peça 1
    5          2                peça 2
    6          3                peça 3
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: Numeração automática - ACCESS 2013

    Mensagem  Noobezinho em Dom 01 Fev 2015, 11:12 am

    Miltom

    Veja se é isso que pretende.


    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Seg 02 Fev 2015, 1:10 am

    Isso Exatamente!! Seria possível fazer isso em VBA?
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: Numeração automática - ACCESS 2013

    Mensagem  Noobezinho em Seg 02 Fev 2015, 11:29 am

    Mas..

    Já está em VBA !

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Seg 02 Fev 2015, 9:57 pm

    Haa!! Nossa que capivarada! Embarassed

    Muito Obrigado!!!!
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Dom 06 Mar 2016, 9:30 pm

    Noob, Este modelo que tu me destes a quantidade de itens não ultrapassa a quantidade de clientes.

    A minha necessidade é que, para cada clientes tenha uma numeração distinta sempre iniciando do 1, sem limite.
    o campo ordem não necessariamente pode ser um id. Os itens tem seu próprio id em ordem sequencial.
    avatar
    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 23/11/2014

    Re: Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Seg 14 Mar 2016, 5:22 pm

    Up

      Data/hora atual: Seg 25 Set 2017, 4:32 am