Tema: Index,...!!!
Ver Mensaje Individual
  #6  
Antiguo 24-12-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Gracias a ti por acalarnos las dudas, y por favor no me hables de Usted que se me hace un nudo en la garganta ... En cuanto a molestar... pues no, precisamente para eso estamos, para echar una mano .

A lo que tu llamabas indexar, es precisamente el acierto de Marcos Zorrilla, se trata de una relación Maestro-Detalle.

Supongo que tienes una tabla tblConceptos y un DataSource DTSConceptos, así como una tabla tblTicket y DTSTicket, solo tienes que tocar un par de propiedades.

Selecciona la tabla conceptos y en el Inspector de objetos, toca estas propiedades:

tblConceptos.MasterSource := DTStickets
tblconceptos.MasterFields --> da un clic en los puntos suspensivos, la ventana que te aparece indica Details Fields (campos de detalles = tu tabla conceptos) y Master Fields (campo Maestro = tu tabla Ticket) y elije el campo "numeroTicket" tanto de la tabla tickets, como de la tabla Conceptos, despues pulsa el boton ADD y Ok.

En la ventana que tienes el grid, pon un DBnavigator asociado a la tabla Tickets, y el grid lo asocias a la tabla Conceptos.

Se acabó!!!

Solo queda tener en cuenta unos detalles importantes:
- Debes hacer un post en la tabla Tickets antes de hacer el post en la tabla conceptos.

Si lo piensas es lógico, para guardar un concepto, debes saber antes a qué ticket corresponde.

Una solucón posible es en el evento ONNewRecord de tickets, hacer el post de esa misma tabla, así te aseguras de que al añadir el concepto, ese número ya existe. En el evento BeforePost de la tabla conceptos, lees el número de ticket de la tabla ticket y lo guardas en la tabla Concepto. (aqui existe problemas si tienes el programa funcionando en red.... ya preguntarás )

- Al borrar ... depende de si tienes integridad referencial en las tablas con Borrado en cascada. Si es así no tienes que hacer nada más, ya que al borrar un ticket se borrará todos los conceptos asociados.

Espero que te ayude. Saludos
Responder Con Cita