QUIEN ME ACLARA ESTO ????

Post Reply
User avatar
A&C
Posts: 214
Joined: Sat Aug 19, 2006 1:37 pm
Location: Chile

QUIEN ME ACLARA ESTO ????

Post by A&C »

Supongamos q tengo dos DBf

la primera contiene los datos de las compras de los clientes (las Facturas)

la segunda contiene los pagos de esas facturas


se podria hacer un BROWSE o LISTBOX que contenga en una colunma la factura q esta pendiente de pago y en otra el saldo q le queda por pagar

me explico o no:.

en resumen nose como poder mezclar dos bases de datos ,, los BROWSE los uso solo con una sola DBF


SI ME PUEDE AYUDAR CON ALGUN EJEMPLO CLARO


MUCHAS GRACIAS
Mi segundo amor es Programar
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Post by Manuel Valdenebro »

Puedes intentar con SET RELATION

// abro la base hija indexada por un campo común a las dos bases, en
// este ejemplo el campo NumFactu
USE PagosFac INDEX NumFactu NEW

// abro la base padre, indexada o no, por el campo que quieras
USE Facturas NEW
// defino la relación
SET RELATION TO NumFactu INTO PagosFac

Al definir _ del ListBox solo tengo que cambiar el alias de
cada una de las bases:

facturas->NUMFACTU
facturas->FECHA
PagosFac->SALDO
....
Un saludo

Manuel
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

A&C,

Revisa fwh\samples\gallery\onemany.prg
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
A&C
Posts: 214
Joined: Sat Aug 19, 2006 1:37 pm
Location: Chile

Post by A&C »

buenos dias

gracias por las respuestas :

revise el .PRG q mencionaste antonio, pero no es lo que necesito :

mira lo que yo quiero hacer es lo siguiente:: tratare de detallarlo lo mejor posible.

tengo una DBF ( uso CDX, database) que contiene las facturas de los clientes indexadas con folio( ojo existe un registro para cada folio de cada factura en dnd incluyo el total de la misma, el detalle de los productos de la factura esta en otra DBF, que no me interesa manejar)


en la otra DBF tengo las pagos(pueden existir varios registros por cada factura, dependiendo de si se hacen abonos y se paga total) tambien esta indexada por folio..

lo que pretendo hacer es un DIALOG que solo contenga un BROWSE que me muestre ::

FOLIO CLIENTE TOTAL FACTURA ABONO SALDO
----------------------------------------------------------------------------

las primeras colunmas:

FOLIO: es facil la extraigo directamente de la primera DBF
CLIENTE: igual cosa
TOTAL FACTURA: igual cosa

el problemita es como extraigo la columna ABONO

nose si no comprendo el concepto de como trabaja el BROWSE o LISTBOX
como le digo a la PC cuando defino el BROWSE que por cada registro de la primera DBF, filtro la segunda DBF y suma cuanto lleva de abono o pagos y ese valor lo muestre en la colunma ABONO

Ojo yo uso SCOPES para dar los limites de inicio y termino de una DBF,, por ser estos mas rapidos que Set Filter..


ALGUNA AYUDA AL RESPECTO


GRACIAS::
Mi segundo amor es Programar
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Al definir un browse puedes especificar una función para calcular el valor de una columna. Esa función debe hacer _ necesarios y devolver el valor que necesites:

... FIELDS ..., MiFuncion(), ..., ...

function MiFuncion()

...

return <ValorCalculado>
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Armando Picon
Posts: 448
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru

Post by Armando Picon »

Tienes varias formas para hacer lo que dices:

1) Como en tu Bd de pagos debes tener varios registros necesitas una funcion que te devuelva la suma de abonos y el saldo correspondiente y estos resultados puedes ponerlo en variables y mostrarlo en el browse.

2) Puedes crear "al vuelo" una BD temporal que tenga _ que quieres mostrar en el browse y mediante la funcion que hayas hecho previamente llenar _ para mostrarlos.

El problema como veo es que cuando tratas el tema de pagos parciales de una factura, necesariamente debes registrar todas las transacciones parciales los cuales al mostrarlos en un browse donde se combinan las facturas y los pagos te haria que estes mostrando repetidamente la misma factura tantas veces se hayan realizados pagos fraccionados... y eso es lo que parece que no quisieras.

Otra solucion seria que en el diseño de tu BD tambien consideres un campo de pagos y saldos que recibiria la suma de pagos aceptados y el saldo actual almomento de la consulta. En este caso solamente tendrías que mostrar una sola BD en el browse.

Espero sea eso la orientacion que necesitas.

Atentamente

Armando
Lima, Peru
A&C wrote:buenos dias

gracias por las respuestas :

revise el .PRG q mencionaste antonio, pero no es lo que necesito :

mira lo que yo quiero hacer es lo siguiente:: tratare de detallarlo lo mejor posible.

tengo una DBF ( uso CDX, database) que contiene las facturas de los clientes indexadas con folio( ojo existe un registro para cada folio de cada factura en dnd incluyo el total de la misma, el detalle de los productos de la factura esta en otra DBF, que no me interesa manejar)


en la otra DBF tengo las pagos(pueden existir varios registros por cada factura, dependiendo de si se hacen abonos y se paga total) tambien esta indexada por folio..

lo que pretendo hacer es un DIALOG que solo contenga un BROWSE que me muestre ::

FOLIO CLIENTE TOTAL FACTURA ABONO SALDO
----------------------------------------------------------------------------

las primeras colunmas:

FOLIO: es facil la extraigo directamente de la primera DBF
CLIENTE: igual cosa
TOTAL FACTURA: igual cosa

el problemita es como extraigo la columna ABONO

nose si no comprendo el concepto de como trabaja el BROWSE o LISTBOX
como le digo a la PC cuando defino el BROWSE que por cada registro de la primera DBF, filtro la segunda DBF y suma cuanto lleva de abono o pagos y ese valor lo muestre en la colunma ABONO

Ojo yo uso SCOPES para dar los limites de inicio y termino de una DBF,, por ser estos mas rapidos que Set Filter..


ALGUNA AYUDA AL RESPECTO


GRACIAS::
Post Reply