MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

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

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

    Numeração automática - ACCESS 2013

    Mensagem  Mimexx em Ter 06 Jan 2015, 19:46

    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, 02:57, editado 1 vez(es)

    daniloreiis
    Avançado
    Avançado

    Respeito às Regras 100%

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

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

    Mensagem  daniloreiis em Qui 08 Jan 2015, 10:18

    Ola amigo bom dia!

    poderia disponibilizar o projeto para melhor ajuda-lo ?


    .................................................................................
    Att, Danilo Reis
    -------------------------------------------------------------------------------------------------------------------------------------------------
    [Você precisa estar registrado e conectado para ver este link.]

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

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Qui 08 Jan 2015, 15:14

    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.

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Seg 19 Jan 2015, 20:07

    Alguém sabe?

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Sex 30 Jan 2015, 02:56

    up

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  Noobezinho em Sex 30 Jan 2015, 10:58

    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 .

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Sab 31 Jan 2015, 01:20

    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


    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Sab 31 Jan 2015, 01:40

    up
    Exemplo:Arquivo

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Sab 31 Jan 2015, 02:09

    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?

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  Noobezinho em Sab 31 Jan 2015, 09:44

    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 .

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Sab 31 Jan 2015, 18:41

    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

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  Noobezinho em Dom 01 Fev 2015, 10:12

    Miltom

    Veja se é isso que pretende.


    Noob
    Anexos
    numeração_Mimex.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (38 Kb) Baixado 52 vez(es)


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

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Seg 02 Fev 2015, 00:10

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

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  Noobezinho em Seg 02 Fev 2015, 10:29

    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 .

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Seg 02 Fev 2015, 20:57

    Haa!! Nossa que capivarada! Embarassed

    Muito Obrigado!!!!

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Dom 06 Mar 2016, 20:30

    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.

    Mimexx
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Mimexx em Seg 14 Mar 2016, 16:22

    Up

      Data/hora atual: Seg 05 Dez 2016, 16:32