Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

error en Recordset

Estas en el tema de error en Recordset en el foro de Visual Basic clásico en Foros del Web. Buenas tardes gracias ante todo es mi primer pregunta. vba en Acces 2007 Intento crear una fucion con un recorset pero me presenta un error. ...
  #1 (permalink)  
Antiguo 02/08/2012, 14:33
 
Fecha de Ingreso: agosto-2012
Ubicación: Bogota Colombia
Mensajes: 4
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta error en Recordset

Buenas tardes

gracias ante todo
es mi primer pregunta.

vba en Acces 2007

Intento crear una fucion con un recorset pero me presenta un error.

Se ha producido el error 3061 en tiempo de ejecucion.

pocos parametros se esperaba 1

este es el codigo de la funcion

Function TraerParametro(ByVal Ipara As String) As String

Dim db As Database
Dim rs As Recordset

Set db = CurrentDb
Set rs = CurrentDb.OpenRecordset("SELECT Parametros.Entidad, Parametros.Parametro, Parametros.TxtParametro FROM Parametros WHERE (((Parametros.Entidad)=Nit()) AND ((Parametros.Parametro)= " & Ipara & "))")


If Not rs.EOF Then
TraerParametro = rs!txtparametro
Else
TraerParametro = Null
End If
End Function


la ejecuto desde un btn con el codigo


MsgBox TraerParametro("jeferh1")

Bueno en lo que he buscado creo que es algo en la estructura de la consulta para el recordset pero no logro entenderlo.

Gracias.
  #2 (permalink)  
Antiguo 03/08/2012, 05:25
Avatar de lojoam  
Fecha de Ingreso: marzo-2012
Ubicación: Springfield
Mensajes: 32
Antigüedad: 12 años, 9 meses
Puntos: 7
Respuesta: error en Recordset

Buenas, mira por lo que a mi me ha pasado y estoy 100% seguro q es eso xq me ha pasado mucho XD
El tema esta en la clausula "WHERE" , no se que trae tu "Parametros" pero fijate de poner los campos q sean textos entre ' ' (comillas simples) y en todo caso debugea el codigo y frenalo en el armado de la consulta para ver como la arma, y si lo esta haciendo correctamente.
X ej, hacete un String antes del "OpenRecorset" y armas la query en el, desp haces el "Open" y le pasas el String...
Espero te haya servido de algo,
Salutte
  #3 (permalink)  
Antiguo 03/08/2012, 08:29
 
Fecha de Ingreso: agosto-2012
Ubicación: Bogota Colombia
Mensajes: 4
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: error en Recordset

Hola

creo que el error era en armar la consulta en el mismo recordset,

Lo soluione con un string pra el query ... pego el codigo


Cita:

Function TraerParametro(ByVal Ipara As String) As String

Dim db As Database
Dim rs As Recordset
Dim sSql As String


sSql = "SELECT Parametros.Entidad, Parametros.Parametro, Parametros.TxtParametro FROM Parametros WHERE (((Parametros.Entidad)='" & Nit() & "') AND ((Parametros.Parametro)='" & Ipara & "'))"
Set db = CurrentDb
Set rs = CurrentDb.OpenRecordset(sSql)


If Not rs.EOF Then
TraerParametro = rs!txtparametro
Else
TraerParametro = Null
End If
End Function



Gracias.

Etiquetas: access, recordset, vba
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:06.