Visual Basic - Tecnico Informatico

Life is soft - evento anual de software empresarial
 
Vista:

Tecnico Informatico

Publicado por Pablo (1 intervención) el 30/05/2006 16:13:53
Buenas, necesito ayuda para hacer una funcion recursiva en Visual. La idea es que la funcion genere un arreglo de una consulta a BD, pero el arreglo debe estar ordenado segun un criterio distinto al que entrega la consulta. Les pongo un ejemplo.

[IDGrupo] [IDCuenta]

Activos ActivoCirculante
Activos ActivoFijo
ActivoCirculante CtasDelPersonal
ActivoCirculante CtasxCobrar
ActivoCirculante DeudoresPorVenta
ActivoFijo EquiposComputac
ActivoFijo Instalaciones
CtasDelPersonal 110823
CtasxCobrar 110701
CtasxCobrar 110702
DeudoresPorVenta 110601
EquiposComputac 120301
EquiposComputac 120302
Instalaciones 120402

Eso es lo que me devuelve la consulta. Pero lo que necesito es crear una funcion recursiva que me entrege un arreglo lineal que tenga la siguiente caracterisitcas.

Activos
ActivoCirculante
CtasDelPersonal
CtasxCobrar
DeudoresPorVenta
ActivoFijo
EquiposComputac
Instalaciones

Es decir en el arreglo solo deben ir (aparte del primero que es Activos, que ese se ingresa siempre) las ocurrencias de IDCuenta que se encuentran tambien en IDGrupo.

Esto es lo que tengo, pero no me funciona, no hace el retorno para empezar desde donde quedo, simplemente recorre una ves y se sale.

Private Function ArmaArregloNiveles(ByVal sGrupo$, ByRef aArrNiveles, ByRef Record As Recordset, Cont)
Dim i%
For i = 1 To Record.RecordCount
If VN(Record!IDGrupo, gSTR) = sGrupo Then
aArrNiveles(Cont) = sGrupo
Cont = Cont + 1
ArmaArregloNiveles Record!IDCuenta, aArrNiveles, Record, Cont
Record.MoveFirst
Else
Record.MoveNext
End If
Next i
End Function

Esop, espero que alguien entienda y me pueda ayudar. Tambien me servirían ejemplos de recursividad para comprenderlo un poco mejor.
De antemano gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder