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


3 participantes

    [Resolvido]Numeração Especial Ano Numero

    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]Numeração Especial Ano Numero Empty Numeração Especial Ano Numero

    Mensagem  Assis 19/10/2010, 21:31

    Boa noite

    Tenho um campo que faz a numeração automática Ano/Número " 2010-0001 e seguintes.

    A Tabela tem um campo Data.
    Eu queria que na tabela, ao numerar automático fosse lido se a data já existisse na tabela o numero automático não somasse.
    Exemplo
    01-01-2010 Numero 2001-0001
    01-01-2010 ,, 2011-0001
    02-01-2010 ,, 2010-0002
    02-01-2010 ,, 2001-0002
    03-01-2010 ,, 2011-0003
    12-01-2010 ,, 2010-0004
    12-01-2010 ,, 2010-0004
    Obrigado
    avatar
    Convidad
    Convidado


    [Resolvido]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Convidad 19/10/2010, 23:15

    se mostrar o cod que faz essa numeracao talvez fique mais facil.
    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]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Assis 19/10/2010, 23:23

    Boa noite Ricardo
    O codigo é este

    Function proximoNumero() As String
    Dim strSql As String
    Dim rstDoc As New ADODB.Recordset
    Dim numeroEncontrado As Integer
    strSql = "Select producao From producaobloco " & _
    "Where (producao Like '" & Format(Date, "YYYY") & "%') " & _
    "Order By producao Desc"
    rstDoc.Open strSql, CurrentProject.Connection, adOpenStatic, adLockReadOnly
    If rstDoc.RecordCount > 0 Then
    numeroEncontrado = CInt(Right(rstDoc("producao"), 4))
    Else
    numeroEncontrado = 0
    End If
    proximoNumero = Format(Date, "YYYY") & Format(numeroEncontrado + 1, "0000")
    rstDoc.Close
    Set rstDoc = Nothing
    End Function
    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]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Assis 21/10/2010, 09:48

    Bom dia Ricardo
    Tem aqui o código
    Obrigado
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Alexandre Neves 22/10/2010, 19:33

    Boa tarde, Assis

    Não percebo a lógica da numeração.

    Cumprimentos,
    gilberlanio rocha
    gilberlanio rocha
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 08/03/2010

    [Resolvido]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  gilberlanio rocha 22/10/2010, 20:05

    Releia o exemplo que você digitou, acho que está um pouco confuso.

    Exemplo
    01-01-2010 Numero 2001-0001
    01-01-2010 ,, 2011-0001 (Aqui é 2011 ou era 2010)
    02-01-2010 ,, 2010-0002
    02-01-2010 ,, 2001-0002 (Aqui é 2001 ou era 2010)
    03-01-2010 ,, 2011-0003
    12-01-2010 ,, 2010-0004
    12-01-2010 ,, 2010-0004
    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]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Assis 22/10/2010, 21:24

    gilberlanio rocha tem razão

    Seria assim que eu queria.

    Exemplo
    01-01-2010 Numero 2010-0001
    01-01-2010 ,, 2010-0001
    02-01-2010 ,, 2010-0002
    02-01-2010 ,, 2010-0002
    03-01-2010 ,, 2010-0003
    12-01-2010 ,, 2010-0004
    12-01-2010 ,, 2010-0004
    13-01-2010 ;; 2010-0005

    Obrigado gilberlanio rocha
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Alexandre Neves 22/10/2010, 22:41

    Assis

    Veja se lhe serve

    Function ProximoNumero()
    'criado por Alexandre Neves
    'em 2010-10-22
    'para Assis
    'do fórum MaximoAccess
    If DCount("*", "ProducaoBloco", "Data=#" & Date & "#") = 0 Then
    ProximoNumero = Year(Date) & "-" & Format(DCount("*", "ProducaoBloco", "Year(Data)=year(" & Date & ")") + 1, "0000")
    Else
    ProximoNumero = DLookup("Producao", "ProducaoBloco", "Data=#" & Date & "#")
    End If
    End Function

    Atenção aos nomes reservados.
    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]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Assis 23/10/2010, 00:09

    Boa noite Alexandre

    O meu campo Data tem o nome de "DataBloco"

    Então fiz Assim

    Function ProximoNumero()
    'criado por Alexandre Neves
    'em 2010-10-22
    'para Assis
    'do fórum MaximoAccess
    If DCount("*", "ProducaoBloco", "DataBloco=#" & Date & "#") = 0 Then
    ProximoNumero = Year(Date) & "-" & Format(DCount("*", "ProducaoBloco", "Year(DataBloco)=year(" & Date & ")") + 1, "0000")
    Else
    ProximoNumero = DLookup("Producao", "ProducaoBloco", "DataBloco=#" & Date & "#")
    End If
    End Function

    Mas dá sempre o 2010-0001
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Alexandre Neves 23/10/2010, 11:47

    Bom dia, Assis

    Veja se a data terá de ser formatada: Format(Date,"mm-dd-yyyy")
    Se não der certo, carregue a bd para se ver

    Cumprimentos,
    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]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Assis 23/10/2010, 12:34

    Bom dia Alexandre

    Eis o dito cujo

    http://www.speedyshare.com/files/24828191/Assis.rar
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Alexandre Neves 23/10/2010, 12:37

    Novamente, Assis

    Não consigo aceder. Pode carregar no esnips, em Access 2003?
    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]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Assis 23/10/2010, 12:42

    E Aqui
    https://dl-web.dropbox.com/get/Assis.rar?w=6ffd3cfc


    http://www.esnips.com/doc/a1ace2d8-9ca8-4dfe-9c75-f3155a8e4c10/Assis

    Será assim
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Alexandre Neves 23/10/2010, 16:04

    Assis

    Utilize este código. Experimentei algumas situações e funcionou

    Function proximoNumero()
    'criado por Alexandre Neves
    'em 2010-10-22
    'para Assis
    'do fórum MaximoAccess
    Dim Rst As DAO.Recordset
    If DCount("*", "ProducaoBloco", "DataBloco=#" & Format(Me.DataBloco, "mm-dd-yyyy") & "#") = 0 Then
    Set Rst = CurrentDb.OpenRecordset("SELECT DISTINCT DataBloco FROM ProducaoBloco WHERE Year(DataBloco)=" & Year(Me.DataBloco) & ";")
    Rst.MoveLast: Rst.MoveFirst
    proximoNumero = Year(Date) & Format(Rst.RecordCount + 1, "0000")
    Else
    proximoNumero = DLookup("Producao", "ProducaoBloco", "DataBloco=#" & Format(Me.DataBloco, "mm-dd-yyyy") & "#")
    End If
    Set Rst = Nothing
    End Function

    Disponha sempre,
    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]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Assis 23/10/2010, 16:48

    Amigo Alexandre

    Se a tabela não tiver registos dá logo erro

    Obrigado a mesma
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Alexandre Neves 23/10/2010, 17:42

    Boa observação, Assis

    Teste agora

    Function ProximoNumero()
    'criado por Alexandre Neves
    'em 2010-10-23
    'para Assis
    'do fórum MaximoAccess
    Dim Rst As DAO.Recordset
    If DCount("*", "ProducaoBloco", "DataBloco=#" & Format(Me.DataBloco, "mm-dd-yyyy") & "#") = 0 Then
    Set Rst = CurrentDb.OpenRecordset("SELECT DISTINCT DataBloco FROM ProducaoBloco WHERE Year(DataBloco)=" & Year(Me.DataBloco) & ";")
    If Not Rst.BOF Then Rst.MoveLast: Rst.MoveFirst
    proximoNumero = Year(Date) & Format(Rst.RecordCount + 1, "0000")
    Else
    proximoNumero = DLookup("Producao", "ProducaoBloco", "DataBloco=#" & Format(Me.DataBloco, "mm-dd-yyyy") & "#")
    End If
    Set Rst = Nothing
    End Function
    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]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Assis 23/10/2010, 18:17

    Bingo

    Obrigado Alexandre

    Conteúdo patrocinado


    [Resolvido]Numeração Especial Ano Numero Empty Re: [Resolvido]Numeração Especial Ano Numero

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 12:53