Para Esparta, perdón por ser específico en el nombre.

09/07/2004 - 04:10 por Jorge Diaz-El Salvador | Informe spam
Perdón, por refererime específicamente a un nombre específico, sé que
cualquiera que sepa esta duda puede respondermelo.



Es sobre las vistas de un hilo anterior:

Quiere decir que en un pantalla como la que les mencionaba de
facturación, tengo que hacer todas las relaciones a mano de la tabla padre
hacia la tabla hija junto con las otras tablas que se relacionan?

Saludos
 

Leer las respuestas

#1 Esparta Palma
09/07/2004 - 17:26 | Informe spam
Sería mejor que siguieras el hilo en donde está la información, pero
bueno, creo que ahí se desvió el tema, así que recapitulemos...
Tenemos un ejemplo básico de Encabezado de Factura, y Detalle de Factura,
ok?
En DBFs normales basta con que lances una relación entre el ID del
encabezado hacia la llave foránea de la tabla detalle de factura (esto via
código o directamente en el DataEnvironment), como te habrás dado cuenta
esto *no* es posible usando vistas, ya que si intentas lo mismo que en los
DBFs, pues te darás cuenta que no hay manera...
Entonces, cómo se le hace? No es tán dificil como parece, aunque si lo
querés ver de alguna manera, es algo engorroso.

Vista: lv_Facturas
Parameters : vp_dFecha, vp_iIDCliente

Vista: lv_DetFacturas
Parameters: vp_iIDFactura

*** En algún lugar donde pidas cargar los datos de facturas...

WITH Thisform
vp_dFecha = .txtdFecha.Value
vp_iIDCliente = .txtiIDCliente.Value
ENDWITH
REQUERY("lv_Facturas")
**** En este momento ya tienes cargado la tabla de Facturas, filtrada por
dos parámetros..

**** Con los datos de la vista factura, cargar los datos de los Detalles.

vp_iIDFactura = lv_Facturas.iID
REQUERY("lv_DetFacturas")

*** Listo, ya tendrás dos cursores conteniendo los datos necesarios,
mismos que podrás utilizar
*** en grids o como gusteis...

El código anterior es para la primera vez que cargas la vista Facturas, si
existe el caso en que tengas varios registros, y según te vayas moviendo
en Facturas, hacer que la vista Detalle Facturas, entonces bastará con que
codifiques las dos ultimas líneas del código en el lugar correspondiente,
es decir, quizás en el AfterRowColChange del grid, o en tu método
Next-First-Last-Previus de tu formulario.
Eso es, en resumen lo que se debe hacer para "relacionar" las vistas, como
te lo indiqué anteriormente puede ser una labor engorrosa, misma que se ha
minimizado en los distintos frameworks de VFP, en el que uso (CodeBook,
freeware) se hace uso intensivo (y casi exclusivo) de las vistas...
Para mayor información, hay un ejemplo en el KB de Microsoft:

SAMPLE: Views.exe One-To-Many Form Que Utiliza una Vista Parametrizada

http://support.microsoft.com/?id2974

Link de la descarga (puede variar)
http://download.microsoft.com/downl.../Views.exe

Espero te sirva.

P.S. Por cierto, nunca te perdonaré el haber puesto mi nombre en el
subject del mensaje, con eso has desgastado mi nombre que de por sí ya
empieza a tener mala fama ... Baahhh, no es cierto, lo que pasa es que POR
FIN ES VIERNES!!! y por lo menos yo ando de relajo...


Perdón, por refererime específicamente a un nombre específico, sé que
cualquiera que sepa esta duda puede respondermelo.



Es sobre las vistas de un hilo anterior:

Quiere decir que en un pantalla como la que les mencionaba de
facturación, tengo que hacer todas las relaciones a mano de la tabla padre
hacia la tabla hija junto con las otras tablas que se relacionan?

Saludos



ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º
Espartaco Palma Martínez
SysOp PortalFox.com
email:mexicoSINSPAM[Arroba]portalfox.com

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similares