Access - Recordset

 
Vista:

Recordset

Publicado por fran (2 intervenciones) el 14/07/2004 18:17:04
El siguiente codigo me da el error con el primer SQL, si activo el segundo SQL ( el sencillo) funciona correctamente. Tengo el Acces2000.

Este es el error:
"Se ha producido el error 3061 en tiempo de ejecucion. Pocos parametros, se esperaba 1."

Este el codigo maldito:
SQL = "SELECT * FROM ROIPERFAM062003DEL99 WHERE Familia=102116"
'SQL = "SELECT * FROM ROIPERFAM062003DEL99"
Set ano2003 = dbsRoi.OpenRecordset(SQL, dbOpenDynaset)

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:Recordset

Publicado por Skakeo (99 intervenciones) el 14/07/2004 18:25:08
Una pregunta Familia es numerico o texto. Si es texto prueba a pasarle:
SQL = "SELECT * FROM ROIPERFAM062003DEL99 WHERE Familia='102116' "
Un saludo
Skakeo®
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

RE:Recordset

Publicado por fran (2 intervenciones) el 14/07/2004 18:32:37
Que va, es numerido (Doble), no necesito las comiilas simples.
Gracias
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

RE:Ahora si

Publicado por Skakeo (99 intervenciones) el 14/07/2004 22:06:21
Ahora queda mas claro, tu problema es el separador de decimales, te paso una funcion, pegala en un modulo de tubase de datos y la usas como esta en la explicacion:
Public Function ChSep(Value As Double)
'******************************************************************************
'******************************************************************************
' Al crear el SQL
' sql = "Select * From Tabla Where Campo =" & ChSep(Valor)
'******************************************************************************
'******************************************************************************
Dim I As Long
Value = CStr(Value)
For I = 1 To Len(Value)
If Mid(Value, I, 1) = "," Then
ChSep = ChSep & "."
Else
ChSep = ChSep & Mid(Value, I, 1)
End If
Next I
End Function
Una vez copiada en tu db, la instruccion select debe quedar asi:
SQL = "SELECT * FROM ROIPERFAM062003DEL99 WHERE Familia=" & chsep(102116)
aunue este numero del ejemplo no es doble pero bueno, creo que servira
Un saludo
Skakeo®
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