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


5 participantes

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    avatar
    Valdomiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/07/2012

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    Mensagem  Valdomiro 22/1/2015, 12:41

    Olá amigos!

    Como sou “verdinho” no Access, ou seja, ainda preciso amadurecer rs, peço ajuda aos amigos.

    Criei um banco chamado Biblioteca Pessoal. Nele há uma tabela que tem o campo Catalogação, que guarda as classificações dos livros em uma lista (HTR = História, DCL = Dicionário de Latim, e assim por diante, pois tenho vários livros de história, dicionários e etc. Criei um formulário para entrar com esses dados. O fato é que a classificação eu escolho em uma lista de catalogação que criei, mas a sequência estou digitando manualmente. Mas, certamente, colocar o um número que seria sequencial para cada classificação de forma manual é uma solução muito amadora. Vai chegar um momento que não vou lembrar qual é a sequência de um livro X, classificado como DCL, para usar o número seguinte em um novo cadastro Y de mesma classificação (DCL).  Gostaria de saber como faço para que quando eu selecionar a catalogação/classificação na lista, o Access verifique quantos há com aquela classificação e já apresente no campo n_item o número seguinte.

    Ex. Suponhamos que haja 1 livro de história e eu vou cadastrar o segundo. Então quando eu selecionasse HTR o campo da sequência já apareceria o número 2.

    Obs.: o campo “n_item”(sequência) estão como texto na tabela.
    Segue uma imagem do formulário de entrada.

    Gratos!
    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. O0ysxx


    Última edição por Valdomiro em 22/1/2015, 16:30, editado 1 vez(es)
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Re: [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    Mensagem  Avelino Sampaio 22/1/2015, 12:49

    Coloque no evento "após atualizar" do campo catalogação:

    me!n_Item = nz(dmax("n_item","NomeDaTabela","Catalogação = '" & me!Catalogação & "'")) + 1

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Re: [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    Mensagem  Assis 22/1/2015, 12:53

    Bom dia
    Teste
    Apos atualizar o campo cataloção o que tem os dados (HTR = História, DCL = Dicionário de Latim)
    Me.n_item = DLast("N_item", "nomedatabela", "catalogação ='" & Me.catalogação & "'") + 1

    Aguardo


    .................................................................................
    *** Só sei que nada sei ***
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Re: [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    Mensagem  Assis 22/1/2015, 12:55

    Avelino

    Peço desculpa, estava digitando e não reparei ....


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Valdomiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/07/2012

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Erros ocorridos

    Mensagem  Valdomiro 22/1/2015, 13:38

    Caros amigos!



    Tentei as duas indicações:
    Usei-as assim:
    me!n_Item = nz(dmax("n_item","livros","catalogacao = '" & me!catalogação & "'")) + 1
    me.n_item = DLast("n_item", "livros", "catalogacao ='" & me.catalogacao & "'") + 1

    Mas, apareceram os seguintes erros:

    Na dica do Assis:
    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. 2yv1lbc

    Na dica do Avelino
    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. 21km9h5



    Anexei o banco com os 13 registros que já fiz para facilitar a análise de vocês.

    Mais uma vez gratos!
    Anexos
    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. AttachmentBeblioteca Pessoal.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.3 Mb) Baixado 80 vez(es)
    hiperjohn
    hiperjohn
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 06/06/2013

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Re: [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    Mensagem  hiperjohn 22/1/2015, 14:19

    No evento Após atualizar do campo catalogacao, digite assim:

    Dim numeroserial As String

    numeroserial = Nz(DMax("n_item", "livros", "catalogacao = " & Me!catalogacao & "")) + 1

    If Len(numeroserial) = 1 Then
    numeroserial = "00" & numeroserial
    ElseIf Len(numeroserial) = 2 Then
    numeroserial = "0" & numeroserial
    End If

    Me.n_item = numeroserial

    Coloquei essa adaptação porque notei que vc cataloga assim: 001, 002, 003 e assim por diante.
    avatar
    Valdomiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/07/2012

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Erro ocorrido 3

    Mensagem  Valdomiro 22/1/2015, 14:44

    Olá HiperJohn,

    O erro que apareceu foi:
    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. 21j17i0

    Sobre a catalogação ser 001, 002, pode ser 1, 2, sem problemas.

    Mas, continuamos na busca da solução!
    avatar
    Convidado
    Convidado


    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Re: [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    Mensagem  Convidado 22/1/2015, 14:56

    Boa tarde,

    Eu experimentei e funciona na perfeição,
    Reparei que tinha introduzido no inicio o codigo nas propriedades do seu campo.
    O codigo tem que ser colocado no VBA.

    Abraço. Cool
    hiperjohn
    hiperjohn
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 06/06/2013

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Re: [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    Mensagem  hiperjohn 22/1/2015, 16:11

    Valdomiro, veja o passo a passo:

    No campo catalogacao, dê um clique direito do mouse e escolha Propriedades.

    Vá na aba Evento.

    Lá no Após atualizar, escolha no dropdown [Procedimento do evento].

    Clique no botão com 3 pontinhos.

    Vai abrir a janel do VBA e ali você cola o código que eu passei.

    Aqui está funcionando perfeitamente.

    Segue uma imagem para te auxiliar.
    avatar
    Valdomiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/07/2012

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Re: [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    Mensagem  Valdomiro 22/1/2015, 16:30

    Mestres,

    Muitíssimo obrigado!

    Questão resolvida.

    O problema era entre a máquina e a cadeira.

    Estava colando, literalmente, no espaço em branco que segue o "Após Atualizar". Coloquei na VBA e deu tudo certo!

    Desculpem-me o excesso de trabalho desnecessário.

    Grande abraço!
    Valdomiro.
    avatar
    nilson.cordeiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Re: [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    Mensagem  nilson.cordeiro 15/10/2016, 14:03

    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

    Conteúdo patrocinado


    [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes. Empty Re: [RESOLVIDO]Como gerar um número sequencial automático, mas respectivo, para catálogos diferentes.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 06:01