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

Respuesta
 
Herramientas Desplegado
Antiguo 10-jul-2008, 20:41   #1 (permalink)
javi_d ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 12
Recorrer registros de una tabla

Buenas!!! Necesito recorrer una tabla donde tengo registros que mando a imprimir
a un datareport dependiendo del numero de cuotas "NCuotaMov". no se que es lo que estoy haciendo mal pero no puedo lograr que ande.

Es decir debo ordenarlos por "CodMov" codigo de movimiento(Clave de registro), y luedo dependiendo el numero de cuotas "NCuotaMov" mando a imprimir. es decir si es NCuotaMov=2mando a impirmir con DrtChequera2 y asi sucesivamente...

Aca les dejo el codigo que estoy usando...
si tienen otra mejor idea de como recorrer todos los registros de la tabla se los agradeceria mucho desde ya muchas gracias!!!
Espero su respuesta!!!


Dim Ncuotas As Integer
Dim Comprobar

Comprobar = False
If BDMovimientoMercTemp.rsMovimiento.RecordCount > 0 Then
BDMovimientoMercTemp.rsMovimiento.MoveFirst
Do While Not BDMovimientoMercTemp.rsMovimiento.EOF

Ncuotas = BDMovimientoMercTemp.rsMovimiento.Fields!NCuotaMov .Value
if Ncuotas = 0 Then
DrtChequera1.PrintReport
Else
If Ncuotas = 2 Then
DrtChequera2.PrintReport
end if
end if

if BDMovimientoMercTemp.rsMovimiento.EOF = False Then
Comprobar = True
Exit Do
Else
BDMovimientoMercTemp.rsMovimiento.Sort = "CodMov"
end If
BDMovimientoMercTemp.rsMovimiento.MoveNext
Loop
End If
javi_d está desconectado   Responder Citando
Antiguo 11-jul-2008, 01:24   #2 (permalink)
Avellaneda tiene algunos puntos positivos de karma
 
Avatar de Avellaneda
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 801
Respuesta: Recorrer registros de una tabla

Cita:
Iniciado por javi_d Ver Mensaje
Buenas!!! Necesito recorrer una tabla donde tengo registros que mando a imprimir
a un datareport dependiendo del numero de cuotas "NCuotaMov". no se que es lo que estoy haciendo mal pero no puedo lograr que ande.

Es decir debo ordenarlos por "CodMov" codigo de movimiento(Clave de registro), y luedo dependiendo el numero de cuotas "NCuotaMov" mando a imprimir. es decir si es NCuotaMov=2mando a impirmir con DrtChequera2 y asi sucesivamente...

Aca les dejo el codigo que estoy usando...
si tienen otra mejor idea de como recorrer todos los registros de la tabla se los agradeceria mucho desde ya muchas gracias!!!
Espero su respuesta!!!


Dim Ncuotas As Integer
Dim Comprobar

Comprobar = False
If BDMovimientoMercTemp.rsMovimiento.RecordCount > 0 Then
BDMovimientoMercTemp.rsMovimiento.MoveFirst
Do While Not BDMovimientoMercTemp.rsMovimiento.EOF

Ncuotas = BDMovimientoMercTemp.rsMovimiento.Fields!NCuotaMov .Value
if Ncuotas = 0 Then
DrtChequera1.PrintReport
Else
If Ncuotas = 2 Then
DrtChequera2.PrintReport
end if
end if

if BDMovimientoMercTemp.rsMovimiento.EOF = False Then
Comprobar = True
Exit Do
Else
BDMovimientoMercTemp.rsMovimiento.Sort = "CodMov"
end If
BDMovimientoMercTemp.rsMovimiento.MoveNext
Loop
End If
Hola, no entiendo muy bien ese código. ¿Qué es "BDMovimientoMercTemp", un Form? y "rsMovimiento" ¿un recordset o un control Data?
¿Estás trabajando con ADO o con DAO?

Cuando dices "no puedo lograr que ande", ¿qué significa, dá error o simplemente que no hace nada?
Fíjate en lo marcado en rojo, esa condición se evaluará en la primera pasada del bucle y por lo tanto, saldrá del mismo.

En azul: eso no tiene ningún sentido, estás intentando ordenar un recordset dentro del propio recordset.

¿No sería mejor hacer una consulta de ordenación por el campo "CodMov" y después evaluar el valor del campo "NCuotaMov"?

Avellaneda está desconectado   Responder Citando
Antiguo 11-jul-2008, 13:47   #3 (permalink)
javi_d ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 12
Respuesta: Recorrer registros de una tabla

Buenas!!! Haber si se te aclara un poquito mas con esto!!!

"BDMovimientoMercTemp" es una tabla que a los registros los obtengo desde una consulta SQL en otra otra tabla y luego a esos registros los imprimo.

"rsMovimiento" es un recorset

Cuando digo "no puedo lograr que ande", es que no puedo lograr que ande el bucle, es decir, que si BDMovimientoMercTemp.rsMovimiento.RecordCount > 0 ,que mande a imprimir el primer registro dependiendo del Ncuotas(NumeroCuotaMovimiento).
y que si no llego al fin de archivo que se repita el bucle hasta llegar al fin de archivo.

seria algo asi como hacer una consulta de ordenación por el campo "CodMov" y después evaluar el valor del campo "NCuotaMov" como vos decis, pero no se como recorrer registro por registro preguntando el NCuotaMov hasta el fin de la tabla.

dessde ya muchas gracias!!!
espero tu respuesta!!!
javi_d está desconectado   Responder Citando
Antiguo 25-jul-2008, 15:02   #4 (permalink)
javi_d ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 12
Respuesta: Recorrer registros de una tabla

Bueno Amigos!!! Despues de tanto!!! pude solucionar mi problema!!!

Les paso a explicar un poquito el código:

Bueno Primero preguntamos si existe un registro, en caso que exista mueve al primer registro de la tabla y ahora es cuando comienza el recorrido por la tabla (Bucle) que se repite tantas veces hasta llegar al fin de archivo(EOF).

(While Not BDMovimientoMercTemp.rsMovimiento.EOF) quiere decir que mientras no exista el fin de archivo efectue lo siguiente. Luego que seleccione la chequera (SeleccionChequera).Despues que mueva al siguiente(BDMovimientoMercTemp.rsMovimiento.MoveNe xt) tantas veces hasta que la intruccion (While Not BDMovimientoMercTemp.rsMovimiento.EOF) sea "verdadera". Y termina con un (Wend)

Este es el código:

If BDMovimientoMercTemp.rsMovimiento.RecordCount > 0 Then
BDMovimientoMercTemp.rsMovimiento.MoveFirst
While Not BDMovimientoMercTemp.rsMovimiento.EOF
Call SeleccionChequera
BDMovimientoMercTemp.rsMovimiento.MoveNext
Wend
End If

Espero que les sirva de Ayuda!!!
javi_d 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 01:22.


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