Llamada a una instrucción sql

Mari
25 de Octubre del 2002
Hola a todos!
Cómo hago en DAO para hacer el llamado a una instrucción sql???
Ya que hago esto:

Dim bd As Database
Dim datos As Recordset
Dim espaciot As Workspace
Dim comillas As String
Dim sql as String
Dim conexion as Connection

...

sql = "select * from gentio where cedula = '" & cedula & "'"
datos.Open sql, conexion

y me retorna el siguiente error de compilación:
No se encontró el método o el miembro de datos y se ubica en .open

entonces lo escribo como datos.OpenRecordset sql, conexion
y me retorna el siguiente error de ejecución:
Error '3241' en tiempo de ejecución. Error de conversión en tipos de datos.

En el Form_Load() tengo:

Set espaciot = Workspaces(0)
Set bd = espaciot.OpenDatabase("c:/PruebasVBasic2/basededatos97.mdb")
Set datos = bd.OpenRecordset("gentio")

Aquí me hace falta algo???


Gracias...

webJose
25 de Octubre del 2002
En primer lugar, quite la siguiente línea del Form_Load:

Set datos = bd.OpenRecordset("gentio")

Luego, en el momento de abrir el SQL, haga esto:

sql = "select * from gentio where cedula = '" & cedula & "'"
set datos=bd.openrecordset(sql, dbopendynaset)

Listo. Ahora datos tiene el resultado del sql. Como nota, el recordset devuelto es de tipo Dynaset. Puede solicitar otro tipo de recordset como Forward only cambiando el tipo (segundo parametro).

roy
25 de Octubre del 2002
mira hazlo de esta manera
datos.open source:="select * from gentio where cedula = '" & cedula & "'",activeconnection:=conexion

espero te funcione