estou a tentar adaptar o meu formulario vba excel para ter uma base de dados access, como estou no inicio(em pesquisas), o conhecimento é zero.
queria saber se existe algum codigo que faça uma numeraçao automatica como tenho no codigo vba, isto é, eu tenho um codigo de numeraçao automatica que vai buscar o valor á planilha que estava a gravar os dados, mas eu crier a base de dados e passei os dados para o access, e agora queria actualizar o codigo da numeraçao automatica.
a minha tabela access, tem uma primeira coluna onde tem a numeraçao automatica dele, eu ja consegui criar uma numeraçao automatica atraves dessa coluna1, mas eu queria numeraçao a partir da coluna 2 do access, que é onde esta a nummeraçao automatica que utilizava no excel, e quero esta pq tem uma formataçao, ele esta a criar numeraçao automatica,mas apresenta o ano antes( AAAA/ultimo numero da coluna A da planilha +1)(ex: 2021/10)
segue codigos que ja tenho para a base de dados access:
Código: Selecionar todos
Option Explicit
Global Banco As Database
Global consulta As Recordset
Dim id As Integer
Código: Selecionar todos
Sub Numeracao_Automatica_ACCESS()
'Cria variável que armazena os comandos SQL
Dim ComandoSQL As String
'Armazena na variável o comando que fará a consulta SQL no BD Access
ComandoSQL = "select * from Registo_DT1"
'Chama a rotina que faz a conexão com o BD
Call Conecta
'Atribui a variável objeto de BD a execução dos comandos SQL
Set consulta = Banco.OpenRecordset(ComandoSQL)
While Not consulta.EOF
id = consulta(0)
consulta.MoveNext
Wend
Call DESCONECTA
UserForm_Menu.Txt_codigo = id + 1
End Sub
While Not consulta.EOF
id = consulta(0)
consulta.MoveNext
Wend"
consulta(0) quer dizer que ele vai pesquisar na coluna 0 ate chegar ao ultimo registo e depois desconecta da base de dados e adiciona na textbox o valor ultimo valor +1,
ja tentei colocar outro codigo igual(adaptado) mas antes de id chamei ip e consulta passei a consultar, para nao criar conflito, mas dá erro.
ja tentei criar dentro desse codigo colocar
Código: Selecionar todos
Sub Numeracao_Automatica_ACCESS()
'Cria variável que armazena os comandos SQL
Dim ComandoSQL As String
'Armazena na variável o comando que fará a consulta SQL no BD Access
ComandoSQL = "select * from Registo_DT1"
'Chama a rotina que faz a conexão com o BD
Call Conecta
'Atribui a variável objeto de BD a execução dos comandos SQL
Set consulta = Banco.OpenRecordset(ComandoSQL)
While Not consulta.EOF
id = consulta(0)
consulta.MoveNext
Wend
While Not consultar.EOF
ip = consultar(0)
consultar.MoveNext
Wend
Call DESCONECTA
UserForm_Menu.Txt_codigo = id + 1
UserForm_Menu.Txt_numeroautomatico = ip + 1
End Sub
conseguem me ajudar?
estava a tentar diminuir o volume do ficheiro excel para correr mais rapido.
Obrigado