Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 21-feb-2006, 05:15   #1 (permalink)
PabloP1 ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2005
Mensajes: 3
Idea 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!!!
PabloP1 está desconectado   Responder Citando
Antiguo 21-feb-2006, 07:09   #2 (permalink)
reel está en el buen camino
 
Avatar de reel
 
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 481
Hola,

Prueba con esto:

Código:
SET dameEsteID = Rs_Articulo
__________________
Leer es Saber, REEL.
reel está desconectado   Responder Citando
Antiguo 21-feb-2006, 18:49   #3 (permalink)
jc_moty ha deshabilitado el karma
 
Avatar de jc_moty
 
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 466
Enviar un mensaje por MSN a jc_moty Enviar un mensaje por Yahoo  a jc_moty
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
jc_moty está desconectado   Responder Citando
Antiguo 22-feb-2006, 07:22   #4 (permalink)
reel está en el buen camino
 
Avatar de reel
 
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 481
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.
__________________
Leer es Saber, REEL.
reel está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 15:07.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93