Senhores,
Estou com problemas ao executar esse código, a intenção é executar duas consultas existentes no Access, uma para apagar dados antigos e outra para inserir os novos dados.
Preciso que essa macro seja executada, com o access fechado....
Se executo apenas uma vez, ok, na segunda vez q executo ele dá a mensagem: "Não é possivel abrir o banco de dados, é possivel que o banco de dados não seja reconhecido pelo seu aplicativo ou esteja corrompido"
Ai fecho o Excel e o Access, executo novamente e funciona perfeitamente.
Antecipo agradecimentos.
Public Sub ConectaDB()
Dim con As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
Dim DBPath As String
Set con = New ADODB.Connection
Set cmd = New ADODB.Command
Set rs = New ADODB.Recordset
DBPath = ThisWorkbook.Path & "dadosBDAle.accdb"
With con
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBPath
.Open
End With
Set bd = CreateObject("Access.Application")
bd.OpenCurrentDatabase DBPath
bd.Visible = False
' On Error GoTo ExibeErro
Call DoCmd.SetWarnings(False)
Call DoCmd.OpenQuery("cns_Delete", acViewNormal, acEdit) ' Deleta Dados antigos
Call DoCmd.SetWarnings(True)
Call DoCmd.SetWarnings(False)
Call DoCmd.OpenQuery("cns_Insert") ' Insere dados atualizados
Call DoCmd.SetWarnings(True)
bd.Close
bd.Quit
Set bd = Nothing
MsgBox "Atualização efetuada com Sucesso!"
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 20/05/2014 3:11 pm