6
respostas

[Dúvida] Não consigo fazer atualizar a base de dados do Access

No código abaixo, eu rodo o processo, mas ele não consegue localizar meu arquivo do Access e não sei porque. Eu estou pegando a localização nas propriedades do arquivo e, mesmo assim, não vai. Não sei se é problema do OneDrive. Como posso resolver?

Private Function fnAtualizaBanco(pSQL, rErro As String) As Boolean

Dim dbConexao As ADODB.Connection

On Error GoTo ErroConexao

Set dbConexao = New ADODB.Connection

dbConexao.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;*****Data Source=C:\Users\julia\OneDrive\Documents\2023\Curso VBA\ControledeInventario;"*****
dbConexao.Open
dbConexao.Execute pSQL

dbConexao.Close
Set dbConexao = Nothing

fnAtualizaBanco = True
Exit Function

ErroConexao: rErro = Err.Description fnAtualizaBanco = False Set dbConexao = Nothing

End Function

6 respostas

Tenta dessa maneira:

dbConexao.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\julia\OneDrive\Documents\2023\Curso VBA\ControledeInventario;"

Pode ser os "*" estejam gerando os erros

Os *** eu coloquei para enfatizar o lugar que eu queria tirar a dúvida, mas no código eu não coloquei.

Você habilitou as referências corretamente?

Para mais detalhes: https://learn.microsoft.com/pt-br/sql/ado/guide/appendixes/using-ado-with-microsoft-visual-basic?view=sql-server-ver16

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Sim, as referências estão certinhas. Eu acho que tem a ver com alguma problema do onedrive? Talvez o VBA não esteja conseguindo acessar o que está salvo lá ou não está, porque o onedrive já está cheio. Pode ser isso?

Tenta trocar de pasta ... colocar na Downloads e executar. Já tive problemas com conexão do access em pasta do onedrive, mas no caso o cliente tinha vinculado tudo na nuvem e o caminho do onedrive ficava todo online.

Então, eu mudei agora e mesmo assim não deu certo. Vou mandar aqui o código. Realmente não sei o que ta acontecendo. Eu acredito que tudo no meu computador esteja vinculado na nuvem do onedrive e não sei como tirar.

Private Function fnAtualizaBanco(pSQL, rErro As String) As Boolean

Dim dbConexao As ADODB.Connection

On Error GoTo ErroConexao

Set dbConexao = New ADODB.Connection

dbConexao.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\julia\Downloads\Controle_de_Inventario;"
dbConexao.Open
dbConexao.Execute pSQL

dbConexao.Close
Set dbConexao = Nothing

fnAtualizaBanco = True
Exit Function

ErroConexao: rErro = Err.Description fnAtualizaBanco = False Set dbConexao = Nothing

End Function

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software