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


2 participantes

    [Resolvido]Quebra de sequência em numeração automática

    avatar
    Ernesto Silva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 26
    Registrado : 09/02/2011

    [Resolvido]Quebra de sequência em numeração automática Empty [Resolvido]Quebra de sequência em numeração automática

    Mensagem  Ernesto Silva Qui 17 Mar 2011, 8:03 pm

    Boas!

    Tenho um formulário para inserir dados numa tabela, na qual inclui um campo de numeração automática. No caso de inserir um registo pelo formulário e a meio pretender limpá-lo, quando inserir novamente o registo irá pular no número do campo de numeração automática.

    Como poderei ultrupassar esta situação, pois pretendo que na respectiva tabela não existam quebras de sequência no campo de numeração automática.

    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Quebra de sequência em numeração automática Empty Re: [Resolvido]Quebra de sequência em numeração automática

    Mensagem  vieirasoft Qui 17 Mar 2011, 8:12 pm

    Utilizar a sequência automática do access corre sempre esse risco. O ideal seria usar uma função externa. Para repor tudo na normalidade, copie a tabela para uma nova.
    avatar
    Ernesto Silva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 26
    Registrado : 09/02/2011

    [Resolvido]Quebra de sequência em numeração automática Empty Re: [Resolvido]Quebra de sequência em numeração automática

    Mensagem  Ernesto Silva Qui 17 Mar 2011, 8:30 pm

    Já agora se não fôr muito abuso, como poderei utilizar uma função externa?
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Quebra de sequência em numeração automática Empty Re: [Resolvido]Quebra de sequência em numeração automática

    Mensagem  vieirasoft Qui 17 Mar 2011, 8:32 pm

    pergunte à vontade, estamos aqui para ajudar. se possível.

    Public Function ContadorSimples(strCampo As String, NomeTabela As String) As Long
    Dim strMax As Long
    strMax = DMax(strCampo, NomeTabela)
    ContadorSimples = Nz(strMax) + 1
    End Function
    avatar
    Convidad
    Convidado


    [Resolvido]Quebra de sequência em numeração automática Empty Re: [Resolvido]Quebra de sequência em numeração automática

    Mensagem  Convidad Qui 17 Mar 2011, 8:36 pm

    pode utilizar a numeração automatica e repor as falhas desta forma.

    Cole num modulo novo e salve.

    Public Function RepoeNumeracao(ByVal strTabela As String, ByVal strCampo As String) As Boolean
    On Error Resume Next

    Dim db As DAO.Database
    Dim fld As DAO.Field
    Dim tdef As DAO.TableDef

    Set db = Application.CurrentDb
    Set tdef = db.TableDefs(strTabela)
    Set fld = tdef.CreateField(strCampo, dbLong)
    With fld
    .Attributes = .Attributes Or dbAutoIncrField
    End With
    With tdef.Fields
    .Append fld
    .Refresh
    End With

    RepoeNumeracao = True

    Exit_RepoeNumeracao:

    Set fld = Nothing
    Set tdef = Nothing
    Set db = Nothing
    Exit Function

    End Function



    no evento VBA ao pressionar de um botão, ou mesmo no evento VBA ao fechar do seu formulario:

    Private Sub Form_Close()
    On Error Resume Next
    DoCmd.RunSQL ("ALTER TABLE SuaTabela DROP COLUMN SeuCampoID")
    Call RepoeNumeracao("SuaTabela", "SeuCampoID")
    End Sub



    Conteúdo patrocinado


    [Resolvido]Quebra de sequência em numeração automática Empty Re: [Resolvido]Quebra de sequência em numeração automática

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Sex 08 Nov 2024, 10:01 am