Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Visual Basic clásico (http://www.forosdelweb.com/f69/)
-   -   psaje de recodset en VB6 (http://www.forosdelweb.com/f69/psaje-recodset-vb6-372788/)

PabloP1 21/02/2006 06:15

psaje de recodset en VB6
 
Hola ,
Tengo un problema con el pasaje de recordset entre una clase y un form.
La idea es que tengo una clase articulo, y desde el formulario le puedo pedir dameElArt (id as integer) o dameElArt(codigoBarras as double) y asi.

pero cuando la clase tiene que devolver el recordset me tira un error:

"Invalid use of property" y no se que hacer!


Esta es la funcion de la clase:

Public Function dameEsteID(ByVal id As Integer) As ADODB.Recordset
Dim sql_id As String
sql_id = "Select * from articulos where id = " & id
Rs_Articulo.Open sql_id, Con.Conexion, adOpenDynamic, adLockOptimistic
dameEsteID = Rs_Articulo.Clone ' devuelvo el recordset
Rs_Articulo.Close
End Function

Y desde este procedimiento llamo a esta funcion de la clase:

Private Sub cmdId_Click()
On Error GoTo errBusq
id = CInt(txtId.Text)
'Set regis =
completarCampos art.dameEsteID(id)
'llenarcampos CInt(txtid.Text), "", 0, ""

Exit Sub
errBusq:
MsgBox "Ingrese un id válido"
End Sub

Obviamente el objeto articulo ya lo cree en el form_load:

Set art = New Articulo

y lo declare al inicio :

Private art As Articulo

Cualquier ayuda será bienvenida!!!:arriba:

reel 21/02/2006 08:09

Hola,

Prueba con esto:

Código:

SET dameEsteID = Rs_Articulo

jc_moty 21/02/2006 19:49

Cita:

Iniciado por PabloP1
Public Function dameEsteID(ByVal id As Integer) As ADODB.Recordset
Dim sql_id As String
sql_id = "Select * from articulos where id = " & id
Rs_Articulo.Open sql_id, Con.Conexion, adOpenDynamic, adLockOptimistic
dameEsteID = Rs_Articulo.Clone ' devuelvo el recordset
Rs_Articulo.Close
End Function

Tamien podes probar sin el SET, asi:
Código:

dameEsteID = Rs_Articulo
Saludos :adios:

reel 22/02/2006 08:22

jc_monty,

Los Recodset son objetos y no se pueden asignar a variables como valores.

Lo que haces es referenciar a los objetos por lo tanto siempre debes usar la instrucción SET para poder referenciarlos.

Saludes. :adios:


La zona horaria es GMT -6. Ahora son las 16:30.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.