Access inicio | | | | | |
Olá,
Seja Bem Vindo ao Blog.

Conecte-se ou registre-se e utilize gratuitamente este equipamento, temos exemplos referente a criação de banco de dados e desenvolvimento de softwares e programas utilizando o Microsoft Access.


Administração do Blog AccessDoProgramador.

Arquivo de parâmetro para numeração padrão sequencial

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

18082011

Mensagem 

Arquivo de parâmetro para numeração padrão sequencial






Seção de origem no Blog: Diretório, Pastas & Parametrização


Com códigos do Amigo Alexandre Neves... Utilização do arquivo de parâmetros para gravar numeros sequenciais em tabela no Back End, com forms desvinculados, gravando novo registro com numero intermediario caso algum registro tenha sido excluído.



'***************************************************************************************
'AUTOR: Alexandre Neves (Numerção) e Harysohn - Paz, Justiça e Liberdade (Arq.Parâmetros)
'***************************************************************************************


Em um módulo:

'Para atribuir primeiro número disponível
Function NumeroLivreVago(CampoID As String, NomeTabela As String, EnderecoBD As String) As Long
'criada por Alexandre Neves
'em 2011-06-15
'para Harysohn
'do fórum MaximoAccess

Dim Rst As DAO.Recordset, I As Integer
Set Rst = CurrentDb.OpenRecordset("SELECT " & CampoID & " FROM " & NomeTabela & " IN '" & EnderecoBD & "' ORDER BY ID;")
If Rst.RecordCount = 0 Or IsNull(Rst(0)) Then
NumeroLivreVago = 1
Else
I = 1
Do
If Rst(0) <> I Then
NumeroLivreVago = I
Exit Do
End If
I = I + 1
Rst.MoveNext
Loop
End If
Set Rst = Nothing
End Function


No Formulario ao click do Botão


Parametros_de_Inicializacao "SysPen.par"

Dim Db As DAO.Database
Dim ws As DAO.Workspace
Dim rs As DAO.Recordset

Dim NomeBD As String 'Variável para o nome do BD
Dim StrPath As String 'Variável para receber o caminho do BD

Dim I
Dim LastNumber

NomeBD = "Syspen_Be.Accdb" 'Aqui carrega a variável com o nome do BD
StrPath = DirBancoDados & NomeBD 'Aqui csarrego a variável com o caminho contido no Syspe.Par + Variável Nome BD

   If Me.txtID.Value = "" Then GoTo Continuar

  If Not IsNull(Me.txtID) Then
       DoCmd.OpenForm "frmAviso" 'Form para aviso diversos
       Call LimpaCampos 'Chama Função que limpa campos no Form
       Cancel = True
       DoCmd.Close
   Exit Sub
  Else
Continuar:

   'Verifica se o campo ID está nulo. Se estiver
   'significa que é um novo registro.
   If IsNull(txtID) Then
       'Atribui ao campo o próximo número livre dentro
       'do campo codFunc na tabela Detentos.
   Me.txtID.Value = NumeroLivreVago("ID", "Detentos", StrPath) 'Aqui vai a variável do caminho completo do BD que é analizado em conjuto com o o módulo correndo assim o código contido no módulo

Restantes dos códigos via recordset que gravam os dados na tabela



Enjoy!

avatar
Harysohn
Facilitador
Facilitador

Brasil


Voltar ao Topo Ir em baixo

- Tópicos similares
Compartilhar este artigo em: BookmarksDiggRedditDel.icio.usGoogleLiveSlashdotNetscapeTechnoratiStumbleUponNewsvineFurlYahoo!Smarking

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum