28/06/2011, 11:05
|
| | Fecha de Ingreso: agosto-2007
Mensajes: 77
Antigüedad: 17 años, 3 meses Puntos: 0 | |
Recordset dentro de otro Hola a todos. Hace tiempo que postée un tema similar al que me ocurre y no le pude encontrar solucón..
Veran lo que necesito es que mi aplcacion mientras está recorriendo un recordset, haga otro dependiendo del valor de un campo.
Un ejemplo seria
rs.Source = "SELECT Id, Nombre, Dirección, NIF FROM Personas ORDER BY Nombre"
Y mientras recorro este recordset
rs2.Source = "SELECT Supervisor FROM Supervisore WHERE Persona = '" & rs!nombre & "'.
Algo así si me explico. La BBDD de datos no es mía y no la puedo tocar, ya se que relacinándolo funcionaría, pero no puedo modificar nada. Lo tengo que hacer por la aplicación.
Les paso el código que hago servir:
Dim rs2 As Recordset
Set rs2 = New Recordset
connectar
LvEscriptors.ListItems.Clear
While Not rs.EOF
Set ObjItem = LvEscriptors.ListItems.add(, , rs(0))
ObjItem.SubItems(1) = rs!titulo & ""
ObjItem.SubItems(2) = rs!Nombre & ""
ObjItem.SubItems(3) = rs!País & ""
rs2.Source = "SELECT Propietario.Nombre FROM Propietario INNER JOIN Editoriales ON Propietario.IdPropietario = Editoriales.Propietario WHERE (((Editoriales.Nombre)='" & rs!Nombre & "'))"
ObjItem.SubItems(4) = rs2!Nombre & ""
ObjItem.SubItems(5) = rs!País & ""
ObjItem.SubItems(6) = rs!Contacto & ""
ObjItem.SubItems(7) = rs!FechaEnv & ""
ObjItem.SubItems(8) = rs!FechaReb & ""
ObjItem.SubItems(9) = rs!FechaCon & ""
ObjItem.SubItems(10) = rs!FechaCa & ""
ObjItem.SubItems(11) = rs!anticipo & ""
ObjItem.SubItems(12) = rs!Observaciones & ""
rs.MoveNext
Wend
rs.Close
En la línea donde hago rs2!Nombre me da error siempre diciendo:
"La operación no está permitida si el objeto está abierto"
El rs primero si que la hago la connexion i funciona per no se hacer la segunda conexion (con rs2) mientras la otra está abierta y si cierro la conexíon rs, no me carga todo lo que quiero.
Espero haberme explicado bien ya que es bastante complejo, creo.
Muchas gracias por adelantado. |