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]Numeração com a mudança de ano

    avatar
    João
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 105
    Registrado : 07/10/2010

    [Resolvido]Numeração com a mudança de ano Empty Numeração com a mudança de ano

    Mensagem  João 6/4/2011, 16:01

    Tenho uma consulta (Processos) que dá origem a um formulário que tem, além de um campo de numeração autmática um outro campo que numera o processo tipo 000/Ano, através de um módulo.
    Acontece que estava a abrir bem os processos de 2011, mas tive que inserir uns de 2010, manualmente e agora inicia-me a contagem no principio do ano, com o n.º 1, não dando para rectificar.
    Pretendia uma ajudinha, pois já tenho muitos dados nesta base, que não queria perder, implementar o mesmo sistema, pois este é um pouco complexo e já é de 1999, Implementar o do JPaulo por exemplo que se encontra aqui no forum, mas gostaria que me indicassem como o fazer e os cuidados a ter, pois nã posso mesmo perder dados nenhuns.
    Obrigado e agradeço antecipadamente.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Numeração com a mudança de ano Empty Re: [Resolvido]Numeração com a mudança de ano

    Mensagem  criquio 6/4/2011, 16:43

    Qual é o código empregado no processo?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    João
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 105
    Registrado : 07/10/2010

    [Resolvido]Numeração com a mudança de ano Empty Re: [Resolvido]Numeração com a mudança de ano

    Mensagem  João 6/4/2011, 16:54

    Public Function ContadorDeRegistros(strCampo As String, strSql As String)
    Dim strNum As String, db As Database
    Dim strMax As String, CampoAno As String
    Dim AnoData As String, tbl As Recordset

    Set db = CurrentDb
    AnoData = Year(Date)

    Set tbl = db.OpenRecordset(strSql)
    If tbl.RecordCount = 0 Then
    ContadorDeRegistros = 1 & "/" & AnoData
    Else
    strMax = tbl(strCampo)
    CampoAno = Mid(strMax, (InStr(1, strMax, "/")) + 1, 4)
    If CampoAno = AnoData Then
    strNum = Left(strMax, (InStr(1, strMax, "/") - 1)) + 1
    ContadorDeRegistros = strNum & "/" & AnoData
    Else
    MsgBox "O sistema iniciará uma nova contagem dos registros" _
    & vbCrLf & " em função da virada do ano", vbInformation, "ATENÇÃO"
    ContadorDeRegistros = 1 & "/" & AnoData
    End If
    End If
    ContadorDeRegistros = StrZero(ContadorDeRegistros, 10)
    tbl.Close
    Set db = Nothing
    End Function

    Public Function StrZero(nNumero As Variant, nCasas As Integer)
    StrZero = Right("00" + LTrim(nNumero), nCasas)
    End Function
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Numeração com a mudança de ano Empty Re: [Resolvido]Numeração com a mudança de ano

    Mensagem  Alexandre Neves 6/4/2011, 18:38

    Boa tarde, João

    O código que indicou é insuficiente. Não dá para saber o argumento SQL.
    Cumprimentos,
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Numeração com a mudança de ano Empty Re: [Resolvido]Numeração com a mudança de ano

    Mensagem  vieirasoft 6/4/2011, 19:05

    João

    Se não quer perder dados e implementar o exemplo do mestre é simples:

    Faça uma ou várias cópias da BD actual para não perder dados e depois use e abuse numa outra cópia a implementar o exemplo. Simples!
    avatar
    João
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 105
    Registrado : 07/10/2010

    [Resolvido]Numeração com a mudança de ano Empty Re: [Resolvido]Numeração com a mudança de ano

    Mensagem  João 6/4/2011, 21:55

    O resto do código é o que se segue:


    Private Sub Form_BeforeInsert(Cancel As Integer)
    'Escolha o melhor evento para incrementar o seu contador
    On Error GoTo Sai
    Call NumeraRegistros
    Exit Sub
    Sai:
    MsgBox "Erro - " & Err.Description
    End Sub


    Private Sub NumeraRegistros()
    Dim sql As String
    sql = "SELECT idProcesso, NºProcesso"
    sql = sql & " FROM Processos"
    sql = sql & " ORDER BY IdProcesso DESC"
    Me.Contador = ContadorDeRegistros("NºProcesso", sql)
    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Numeração com a mudança de ano Empty Re: [Resolvido]Numeração com a mudança de ano

    Mensagem  Alexandre Neves 6/4/2011, 22:07

    Novamente, João

    Adaptando o código, parece-me que basta utilizar:
    Private Sub NumeraRegistros()
    Dim sql As String
    sql = "SELECT idProcesso, NºProcesso"
    sql = sql & " FROM Processos"
    sql = sql & " ORDER BY Right(NºProcesso,4) DESC, IdProcesso DESC"
    Me.Contador = ContadorDeRegistros("NºProcesso", sql)
    End Sub

    Experimente e retorne.
    Cumprimentos


    Última edição por Alexandre Neves em 6/4/2011, 22:09, editado 1 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Numeração com a mudança de ano Empty Re: [Resolvido]Numeração com a mudança de ano

    Mensagem  JPaulo 6/4/2011, 22:07

    3 conselhos apenas:

    1º Faça Backup
    2º Faça Backup
    3º Faça Backup

    O código faz a numeração automatica e extraí o ano na data do seu computador.

    Os processos de anos anteriores, pode incrementá-los e alterar a numeração manualmente.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Numeração com a mudança de ano Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Numeração com a mudança de ano Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Numeração com a mudança de ano Folder_announce_new Instruções SQL como utilizar...
    avatar
    João
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 105
    Registrado : 07/10/2010

    [Resolvido]Numeração com a mudança de ano Empty Re: [Resolvido]Numeração com a mudança de ano

    Mensagem  João 6/4/2011, 22:23

    Obrigado a todos foram todos bons conselhos, a alteração feita no sql pelo Alexandre deu o resultado que queria
    Um abraço
    e cumprimentos
    Assunto resolvido
    avatar
    João
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 105
    Registrado : 07/10/2010

    [Resolvido]Numeração com a mudança de ano Empty Re: [Resolvido]Numeração com a mudança de ano

    Mensagem  João 6/4/2011, 22:24

    tinha-me esquecido do resolvido

    Conteúdo patrocinado


    [Resolvido]Numeração com a mudança de ano Empty Re: [Resolvido]Numeração com a mudança de ano

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 10:55