Caro colega Luciano_vb
Pelo que vi vc utiliza para abertura do banco através de DSN (ODBC) , esta técnica que
utilizo é via provedor OLEDB, utilizo banco Firebird e Interbase e funciona muito
bem desta forma:
' conexao com o Banco
Public adoBanco As New ADODB.Connection
Dim tblAux As New ADODB.Recordset
'Este código abre o Banco Interbase com o provedor especifico
adoBanco.CommandTimeout = 30
adoBanco.ConnectionString = "Provider=ZStyle IBOLE Provider;Data Source=" & strCaminhoDoBanco & ";UID=sysdba;password=masterkey"
adoBanco.Open
'Abertura da tabela
strSQL = ""
strSQL = strSQL & " Select * From TABELA"
strSQL = strSQL & " Where pac_prontuario =" & txtPac_Prontuario
If tblAux.State = adStateOpen Then tblAux.Close
tblAux.CursorLocation = adUseClient
tblAux.Open strSQL, adoBanco, adOpenForwardOnly, adLockReadOnly
If tblAux.EOF() Then
Msgbox ....
else
incluir registro ....
endif
conexão com MySQL via OLEDB.
Talvez neste exemplo que te passei acabou "misturando" técnicas diferentes, dai este erro
que está acontecendo, mas posso te garantir que via OLEDB o acesso é rápido com um código
menor também, vc deve ficar atento para referenciar a biblioteca Microsoft ActiveX Data Objects 2.X LIbrary em seu projeto.
att.