Visual Basic - Ayuda!!Error en consulta de parametros

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda!!Error en consulta de parametros

Publicado por Fran (4 intervenciones) el 06/10/2002 15:30:23
He intentado hacer una consulta desde visual con parametros, es decir, que se ejecute una consulta en función de unos controles (listbox) y mostrarla la solución en otra caja de texto y me da un error:
Dim wrkJet As Workspace
Dim dbGestion As Database
Dim qd As Parameter
Dim qdf As QueryDef
Dim qdftemp As QueryDef
Dim rst As Recordset
Dim f As Field
Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)
Set dbGestion = wrkJet.OpenDatabase(App.Path & "\Gestion.mdb")
'abro la consulta previamente hecha:

(esta es la consulta hecha en otro formulario:
---------------------------------------------------------------------------------------------------
Dim wrkJet As Workspace
Dim dbGestion As Database
Dim qd As Parameter
Dim qdf As QueryDef
Dim qdftemp As QueryDef
Dim rst As Recordset
Dim f As Field
Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)
Set dbGestion=wrkJet.OpenDatabase(App.Path & "\Gestion.mdb")
Set qdf = dbGestion.CreateQueryDef("Idparametros", "PARAMETERS p long; SELECT Epigrafe from Epigrafes where [Id_de_cuenta] = [qd]")
Set qd = qdf.Parameters!p
dbGestion.Close)
----------------------------------------------------------------------------

Set qdf = dbGestion.QueryDefs("Idparametros")
'asocio el parametro
Set qd = qdf.Parameters!p
'asocio el parametro al valor q yo quiero
qd = Val(List1.Text)
'en este renglon es donde me da el error:3421 error de conversion de tipo de datos
Set rst = qdf.OpenRecordset("Idparametros"%2
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

prueba con esto..!

Publicado por J2ML (464 intervenciones) el 07/10/2002 17:49:56
En realidad las consultas creadas por mi son con el recordset directamente sin usar querydef ( para ello en el select del recordset utilizo clausulas where). Pero lo que yo creo es que cuando haces la comparación en el querydef existen campos que tiene valores nulos y cuando intenesa convertirlos te da ese error. Debes verificar primero antes de convertir y/o comparar en la consulta que el valor sea numérico (utiliza la función isnumeric)
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