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


    Zerar numeração sequencial ao mudar o ano

    mjuliani25
    mjuliani25
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 18/01/2017

    Zerar numeração sequencial ao mudar o ano Empty Zerar numeração sequencial ao mudar o ano

    Mensagem  mjuliani25 em 25/9/2019, 21:40

    Boa tarde Pessoal,
    Esta é minha primeira mensagem aqui. Não consegui achar nada a respeito.
    Precisa fazer um formulário de numeração de ofícios (Sequencial) mas quando o ano mudar zera a sequencia.
    O meu problema é que quando duas pessoas clicam no botão de gerar o número se repete. Precisa esperar pelo menos 1 segundo para não repetir.
    Estou postando aqui o meu exemplo.

    Agradeço pela oportunidade.
    Marcelo
    Anexos
    Zerar numeração sequencial ao mudar o ano Attachmenttesteoficio.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (91 Kb) Baixado 16 vez(es)
    Sidney
    Sidney
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 371
    Registrado : 08/10/2012

    Zerar numeração sequencial ao mudar o ano Empty Re: Zerar numeração sequencial ao mudar o ano

    Mensagem  Sidney em 27/9/2019, 16:00

    mjuliani25, bom dia""!!

    Este procedimento esta sendo realizado em rede? se sim, sugiro que você crie um campo de numeração automática.

    att; Sidney
    mjuliani25
    mjuliani25
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 18/01/2017

    Zerar numeração sequencial ao mudar o ano Empty Re: Zerar numeração sequencial ao mudar o ano

    Mensagem  mjuliani25 em 27/9/2019, 20:00

    Sidney, boa tarde.

    Sim, estou usando em rede. Se utilizo o código "auto numérico", precisarei todo ano criar tabela nova, uma situação que não gostaria que acontecesse. Estou usando um módulo (que achei muito bom) do J. Paulo.

    E neste momento fiz uma adaptação (gambiarra), onde ,quando dois usuários clicarem ao mesmo tempo, e, pra quem não pegou o número, retorna mensagem que a sua "sessão expirou". Ao clicar novamente faço o formulário atualizar e fica normal.

    Obrigado

    Marcelo
    avatar
    Luís Antunes
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 271
    Registrado : 05/04/2016

    Zerar numeração sequencial ao mudar o ano Empty Re: Zerar numeração sequencial ao mudar o ano

    Mensagem  Luís Antunes em 30/9/2019, 00:18

    Julian
    Cole este código num módulo

    Código:
    Public Function ContadorDeRegistos(strCampo As String, strsql As String)
    'Autor: Carlos em 20/01/99 e-mail: crpmoura@ig.com.br
    'Contador de registos personalizado no formato numero/ano
    Dim strNum As String, db As Database
    Dim strMax As String, CampoAno As String
    Dim AnoData As String, tbl As Recordset

    Set db = CurrentDb
    'Ano tirado da data do sistema
    AnoData = Format(Date, "yyyy")
       
        'Abre a Tabela
        Set tbl = db.OpenRecordset(strsql)
        'Se não há registos na tabela
        If tbl.RecordCount = 0 Then
        'Primeiro registro
        ContadorDeRegistos = 1 & "/" & AnoData
     Else
        'pega o  registro
        strMax = tbl(strCampo)
        'Pega o ano
        CampoAno = Mid(strMax, (InStr(1, strMax, "/")) + 1, 4)
        'Aqui testo o Ano do último registro com o do sistema
        'Se  for igual continue a contagem se não...
        If CampoAno = AnoData Then
          strNum = left(strMax, (InStr(1, strMax, "/") - 1)) + 1
          ContadorDeRegistos = strNum & "/" & AnoData
        Else
          MsgBox "O sistema iniciará uma nova contagem dos registos" _
                  & vbCrLf & " em função da virada do ano", vbInformation, "ATENÇÃO"
          ContadorDeRegistos = 1 & "/" & AnoData
        End If
    End If
    'formata o número
    'ContadorDeRegistos = StrZero(ContadorDeRegistos, 10)
    tbl.Close
    Set db = Nothing
    End Function

    Este código fica no form que tem a contagem
    Código:
    [code]Dim sql As String
    sql = "SELECT [seu ID],[Seu Campo]"
    sql = sql & " FROM [Sua Tabela]"
    sql = sql & " ORDER BY [Seu ID] DESC"
    Me.[Seu Campo] = ContadorDeRegistos("[Seu Campo]", sql)
    Err[/code]

    O campo da tabela de tem de ser Tipo texto

    Espero que resulte


    Luís Anrtunes
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 984
    Registrado : 22/11/2016

    Zerar numeração sequencial ao mudar o ano Empty Re: Zerar numeração sequencial ao mudar o ano

    Mensagem  IvanJr. em 30/9/2019, 11:29



    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Conteúdo patrocinado

    Zerar numeração sequencial ao mudar o ano Empty Re: Zerar numeração sequencial ao mudar o ano

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/10/2019, 04:07