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

Función que devuelve un RecordSet

Estas en el tema de Función que devuelve un RecordSet en el foro de Visual Basic clásico en Foros del Web. ¿Es posible hacer una función que devuleva un RecordSet? Es que al asignarle el RecordSet a la función me dá un error si la función ...
  #1 (permalink)  
Antiguo 16/08/2005, 06:49
 
Fecha de Ingreso: julio-2005
Mensajes: 40
Antigüedad: 18 años, 9 meses
Puntos: 0
Función que devuelve un RecordSet

¿Es posible hacer una función que devuleva un RecordSet?

Es que al asignarle el RecordSet a la función me dá un error
si la función es: funLISTAR
y el recordet es: recODBC

el código
funLISTAR = recODBC

dá el error de compilación "Uso no válido de la propiedad"


Un saludo
  #2 (permalink)  
Antiguo 16/08/2005, 07:15
Avatar de hernanmdq  
Fecha de Ingreso: julio-2005
Ubicación: Argentina - Entre Rios
Mensajes: 167
Antigüedad: 18 años, 9 meses
Puntos: 1
La verdad que no encontre nada que diga si se puede devolver un recorset en una funcion. Lo que yo haria para salir del paso seria crear un recorset afuera de la funcion, pasarcelo como parametro, y como en VB se pasa parametros por referencia de forma automatica, dentro de tu funcion le asignas el recorset que quieras, y listo. Si no fui claro pregunta de nuevo, que con gusto te respondere. Saludos.
  #3 (permalink)  
Antiguo 17/08/2005, 02:38
 
Fecha de Ingreso: julio-2005
Mensajes: 40
Antigüedad: 18 años, 9 meses
Puntos: 0
Gracias, me ha servido

Un saludo
  #4 (permalink)  
Antiguo 17/08/2005, 07:24
 
Fecha de Ingreso: agosto-2005
Ubicación: Cienfuegos, Cuba
Mensajes: 15
Antigüedad: 18 años, 8 meses
Puntos: 0
Función Con RecordSet

Pues mira este Código funciona sin Brobleas, Adaptalo a tu Caso, Cualquier cosa me escribes a [email protected], Suerte

Private Sub Form_Load()
Dim Reco1 As Recordset
'El LLamado
Set Reco1 = DevReco

'comprobar que vino
Do While Not Reco1.EOF
Debug.Print Reco1.Fields(0)
Reco1.MoveNext
Loop
End Sub

'La Función
Private Function DevReco() As Recordset
Dim Base As Database
Dim Reco2 As Recordset
Set Base = OpenDatabase("d:\ElierIm\Estimula.mdb", False, False)
Set Reco2 = Base.OpenRecordset("Personal", dbOpenDynaset)

Set DevReco = Reco2
End Function
  #5 (permalink)  
Antiguo 13/01/2010, 16:08
Avatar de fewar  
Fecha de Ingreso: octubre-2006
Mensajes: 22
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Función que devuelve un RecordSet

Recuerden ser mas claros en sus preguntas y por supuesto en sus respuestas. Por ejemplo la pregunta es confusa, pues no se entiende si lo que quieres es una funcion que regrese un RecodSet o que reciba un RecordSet.

Suponiendo que deseas es una funcion que regrese un Rs, te dejo este codigo

Private Sub Form_Load()

Dim rs As New ADODB.Recordset

Set rs = New ADODB.Recordset

Set rs = fnExecRecordset(" Select * from USUARIOS ")

End Sub

Public Function fnExecRecordset(strQuery As String) As ADODB.Recordset
Dim rst As New ADODB.Recordset

'NO OLVIDES EL PROCESO DE ABRIR TU DB

rst.Open strQuery, ConOracle, 2, 3
Set fnExecRecordset = rst

End Function
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:56.