MIGRAR DAO PARA ADO - 64BIT ACCESS 2013

ADENILSONLUSTOS 20/08/2014 14:18:26
#440617
Senhores, boa tarde
tenho códigos em VBA (AutoCAD) e preciso migrar algumas funções de DAO para ADO devido a novos sistemas 64bit em conjunto com ACCESS 2013.
usei algumas dicas encontradas no fórum mas não obtive sucesso portanto descrevo basicamente um modelo de conexão resposta no qual tive mais dificuldade.
pergunto:
quais seriam as bibliotecas obrigatórias a setar e qual seria a melhor maneira de escrita para o código abaixo?
desde já agradeço a todos.

Dim db As Database, rs As Recordset

Set db = OpenDatabase([Ô]C:\banco.accdb[Ô], False, False, [Ô];PWD=senha[Ô])
Set rs = db.OpenRecordset([Ô]select * FROM tabela WHERE campo = [ô][Ô] + texto + [Ô][ô][Ô])

While Not rs.EOF
If Not rs.EOF Then
MsgBox CStr(rs([Ô]valorEncontrado[Ô]))
rs.MoveNext
End If
Wend

rs.Close
db.Close
FILMAN 20/08/2014 19:58:19
#440629
Resposta escolhida
1. Na janela do VB , selecione Project|References no menu principal

2. Secione Microsoft ActiveX Data Objects 2.X Library na lista de referências exibidas

3. Verifique se as seguintes bibliotecas também estão selecionadas:
Visual Basic for Applications
Visual Basic objects and procedures
Visual Basic runtime objects and procedures e OLE automation



    Dim db As ADODB.Connection, rs As ADODB.Recordset


Set db = CreateObject([Ô]ADODB.Connection[Ô])
db.CursorLocation = adUseClient
db.Open [Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\banco.accdb;Jet OLEDB:Database Password=senha;[Ô]

Set rs = CreateObject([Ô]ADODB.Recordset[Ô])
rs.Open [Ô]SELECT * FROM tabela WHERE campo = [ô][Ô] & texto & [Ô][ô][Ô], db


If rs.RecordCount > 0 Then
rs.MoveFirst
While Not rs.EOF
MsgBox CStr(rs([Ô]valorEncontrado[Ô]))
rs.MoveNext
Wend
End If

rs.Close
db.Close



Espero ter ajudado
ADENILSONLUSTOS 21/08/2014 10:09:49
#440637
Filman
mto obrigado
funcionou 100%
Tópico encerrado , respostas não são mais permitidas