Visual Basic - Llamado a una instrucción sql

Life is soft - evento anual de software empresarial
 
Vista:

Llamado a una instrucción sql

Publicado por Mari (9 intervenciones) el 23/10/2002 03:02:23

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 'datos que manejará la base de datos
Dim datos As Recordset 'datos que manejará la tabla
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")

Gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Llamado a una instrucción sql

Publicado por Mauro (67 intervenciones) el 23/10/2002 04:49:23
Ejemplo de la propiedad SQL (MSDN)

Este ejemplo demuestra la propiedad SQL estableciendo y modificando la propiedad SQL de un QueryDef temporal y comparando los resultados. Se necesita la función SalidaSQL para ejecutar este procedimiento.

Sub SQLX()

Dim dbsNeptuno As Database
Dim qdfTemp As QueryDef
Dim rstEmpleados As Recordset

Set dbsNeptuno = OpenDatabase("Neptuno.mdb")
Set qdfTemp = dbsNeptuno.CreateQueryDef("")

' Abre un Recordset utilizando un objeto QueryDef
' temporal e imprime un informe.
SalidaSQL "SELECT * FROM Empleados " & _
"WHERE País = 'España' " & _
"ORDER BY Apellidos", qdfTemp

' Abre un Recordset utilizando un objeto QueryDef
' temporal e imprime un informe.
SalidaSQL "SELECT * FROM Empleados " & _
"WHERE País = 'México' " & _
"ORDER BY Apellidos", qdfTemp

dbsNeptuno.Close

End Sub

Function SalidaSQL(strSQL As String, qdfTemp As QueryDef)

Dim rstEmpleados As Recordset

' Establece la propiedad SQL del objeto QueryDef
' temporal y abre un Recordset.
qdfTemp.SQL = strSQL
Set rstEmpleados = qdfTemp.OpenRecordset

Debug.Print strSQL

With rstEmpleados
' Enumera el Recordset.
Do While Not .EOF
Debug.Print " " & !Nombre & " " & _
!Apellidos & ", " & !País
.MoveNext
Loop
.Close
End With

End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar