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

    [Resolvido]Numeração sequencial

    Compartilhe

    RodriguesChqao
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 99
    Registrado : 31/05/2016

    [Resolvido]Numeração sequencial

    Mensagem  RodriguesChqao em Qui 08 Fev 2018, 16:23

    Boa tarde senhores!

    Depois de algum tempo afastado é com prazer que retorno ao fórum para apreender com os senhores.

    Tenho um BD com o Formulário Frm_Credencial que possui um campo Nr_Credencial que é digitado manualmente.

    Gostaria que ao inserir um registro novo esse campo fosse preenchido de forma sequencial com base no último número cadastrado na tabela Tbl_Credencial, campo Nr_Credencial.

    Por exemplo se o ultimo número (texto) foi 005 gostaria de obter, de forma automática o preenchimento do campo com 006 para o próximo registro.

    Obrigado!

    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3709
    Registrado : 14/08/2013

    Re: [Resolvido]Numeração sequencial

    Mensagem  FabioPaes em Qui 08 Fev 2018, 20:04

    Seja Bem vindo de volta ao Fórum!

    Temos uma porção de exemplo sobre sua dúvida! De uma pesquisada na sala repositórios e veja qual lhe agrada mais lhe agrada.
    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    RodriguesChqao
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 99
    Registrado : 31/05/2016

    Re: [Resolvido]Numeração sequencial

    Mensagem  RodriguesChqao em Sex 09 Fev 2018, 23:16

    Obrigado Fabio Paes pela disponibilidade em ajudar.

    Tentei adequar o exemplo do BD "Numeraçao muda conforme ano" pois é mais ou menos isso que preciso, no entanto não funcionou devido o meu desconhecimento em programação

    Estou anexando o BD que possui o formulário Frm_Credencial.
    O campo que gostaria que possuísse numeração automática chama-se Nr_Credencial no formato "0000" e não "000/ano) conforme o exemplo do fórum.
    A data não vem do sistema e sim do campo Dt_Expd_Credencial.

    Como disse copiei o modulo "modnumeraçãoano" e adaptei da seguinte maneira.

    Public Function NumeracaoAno() As String

    Dim fazcodigo(1) As Integer, temporario As Integer

    fazcodigo(1) = Nz(DMax("Left(Nr_Credencial,3)", "Frm_Credencial", "Right(Nr_Credencial,4)=Year(Date())"), 0)

    For I = 1 To UBound(fazcodigo)
    If temporario < fazcodigo(I) Then temporario = fazcodigo(I)
    Next

    NumeracaoAno = Format(temporario + 1, "0000") & "/" & year(Date)

    End Function

    No formulário coloquei

    Private Sub Form_Open(Cancel As Integer)
    DoCmd.GoToRecord , , acNewRec

    If Not IsNull(Me.Nr_Credencial) Then
    Exit Sub
    Else
    Me.Nr_Credencial.Value = "0000" & "/" & year(Date)
    End If
    End Sub

    Apareceu 0000/2018 no campo Nr_Credencial, mas não atualiza ao inserir um novo registro e, no meu caso, seria somente 0001, 0002, etc uma vez que a data já está em outro campo.

    obrigado pela disponibilidade
    Anexos
    123.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (2.3 Mb) Baixado 6 vez(es)
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3709
    Registrado : 14/08/2013

    Re: [Resolvido]Numeração sequencial

    Mensagem  FabioPaes em Qua 14 Fev 2018, 20:09

    Olá, como a sua numeração Não tem nenhum critério (Será apenas o Ultimo+1), não precisa nem de Função para isso!

    Basta no Botão de Salvar, ou em outro evento que mais se adequar ao seu Aplicativo, colocar esse comando:


    Me.Nr_Credencial = Format(Nz(DMax("Nr_Credencial", "Tbl_Credencial"), 0) + 1, "0000")


    Explicando o Comando:

    DMax("Nr_Credencial", "Tbl_Credencial"): irá pegar o Maior valor do campo Nr_Credencial da tabela Tbl_Credencial

    Nz(DMax("Nr_Credencial", "Tbl_Credencial"), 0): Utilizo o NZ(,0) para se caso não houver nenhum numero (For nulo o resultado) ele considere o valor como 0 (Zero).

    Format(Nz(DMax("Nr_Credencial", "Tbl_Credencial"), 0) + 1, "0000"): Utilizo o Comando Format() para formatar o valor para o padrão que precisa (0000).


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    RodriguesChqao
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 99
    Registrado : 31/05/2016

    Re: [Resolvido]Numeração sequencial

    Mensagem  RodriguesChqao em Qui 15 Fev 2018, 11:52

    Obrigado Fábio Paes
    Mais uma vez agradeço a disponibilidade do fórum.
    Valeu
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3709
    Registrado : 14/08/2013

    Re: [Resolvido]Numeração sequencial

    Mensagem  FabioPaes em Qui 15 Fev 2018, 14:15

    Grato pelo retorno e até a próxima se Deus quiser!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

      Data/hora atual: Sab 24 Fev 2018, 00:39