Abrir una SQL con ADO

15/09/2003 - 23:49 por carlos | Informe spam
Hola
he comenzado a trabajar con ADO y estaba acostun¡mbrado a abrir una SQL con
DAO, pero en ADO sólo se abrir tablas, ¿Cómo debo contruir la cadena de
conexión?


gracias


-
carlos
rsalo@apdo.com
-
 

Leer las respuestas

#1 Softjaen
16/09/2003 - 06:07 | Informe spam
"carlos" escribió:

he comenzado a trabajar con ADO y estaba acostun¡mbrado a abrir una SQL
con DAO, pero en ADO sólo se abrir tablas, ¿Cómo debo contruir la cadena
de conexión?




Hola, Carlos:

No entiendo muy bien lo que quieres decir con que sólo puedes abrir tablas.
Al no indicar la base de datos que utilizas, supongo que será Microsoft
Access.

Si tú tienes una consulta SQL almacenada en la base de datos de Access y la
quieres abrir, simplemente la abrirías como si de otra tabla se tratara:

Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset

' Establecemos la conexión
'
Set cnn = New ADODB.Connection
With cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = C:\bd1.mdb"
.Open
End With

' Abrimos el objeto Recordset
'
Set rst = New ADODB.Recordset
With rst
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "Consulta de Clientes", cnn, , , adCmdTable
End With

MsgBox rst.RecordCount

Si por el contrario lo que deseas es ejecutar una consulta SQL, escríbela en
el argumento «Source» del método «Open» del objeto «Recordset»:

rst.Open "SELECT * FROM Clientes", cnn, , , adCmdText

Aparte de la instrucción SQL, lo único que cambia es el argumento «Options»,
el cual será «adCmdText» (para consultas SQL), mientras que será
«adCmdTable» (para tablas o consultas almacenadas de Access). Para conocer
dichos valores, consulta en la ayuda de ADO la enumeración
«CommandTypeEnum».

Un saludo.

Enrique Martínez
[MS MVP - VB]

Preguntas similares