FoxPro/Visual FoxPro - ¿Me ayudan con este "BUCLE"??

 
Vista:

¿Me ayudan con este "BUCLE"??

Publicado por Andy (325 intervenciones) el 02/04/2010 23:43:24
Hola a todos!

Por un lado tengo una tabla de clientes (CLIENTES.DBF) y por otro los movimientos de clientes con el campo ID_CLIENTE en comun

Necesito SOLAMENTE sacar un listado de saldo del cliente, es decir,

ID___ NOMBRE____ SALDO
02...... Juan..................125
05...... Pedro............... 15

¿CUAL ES LA MEJOR MANERA DE HACERLO?

Yo hice la siguiente, pero es muy lento

SELECT CLIENTES
SCAN
__saldoinicial=CLIENTES.SALDOINICIAL

__SELECT MOVIMIENTOS
__SUM IIF(codigo_comprobante=1, MOVMIENTOS.TOTAL, -MOVIMIENTOS.TOTAL) ALL FOR movimientos.id_CLIENTE= CLIENTES.ID_CLIENTE to saldototal

__saldototal = saldototal +saldoinicial

__SELECT CLIENTES && retomo el archivo de clientes

__ INSERT INTO cursor_temporal (ID, nombre, saldo) VALUES (clientes.id_cliente, clientes.nombre, saldototal)

ENDSCAN

Nota: esto funciona pero tarda muchoo! Si código de comprobante es 1 es porque es una factura. Sino es un recibo

Muchas 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
sin imagen de perfil
Val: 4
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:¿Me ayudan con este

Publicado por kong (682 intervenciones) el 03/04/2010 02:09:24
hola,

probablemente ya has probado con un Select SQL, pero podria ser como sigue:

select id_clientes,(select nombre from clientes) as nombre, sum(IIF(codigo_comprobante=1, MOVMIENTOS.TOTAL, -MOVIMIENTOS.TOTAL)) as saldototal from movimientos group by id_clientes,nombre into cursor cursor_temporal readwrite
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 4
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:¿Me ayudan con este

Publicado por kong (682 intervenciones) el 03/04/2010 02:15:16
select id_clientes,(select nombre from clientes where id_clientes=clientes.id_clientes) as nombre, sum(IIF(codigo_comprobante=1, MOVMIENTOS.TOTAL, -MOVIMIENTOS.TOTAL)) as saldototal from movimientos group by id_clientes,nombre into cursor cursor_temporal readwrite
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Me ayudan con este

Publicado por Andy (325 intervenciones) el 03/04/2010 18:40:33
Gracias !!! Lo voy a probar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar