![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#5
|
||||
|
||||
|
Cita:
Creas, en caso de que no la tengas ya, una tabla para almacenar los posibles años: años = (semestre) esto es, un sólo campo que a su vez es la llave primaria. En la tabla de alumnos creas un índice para el campo año. Ya en Delphi insertas dos componentes Table para tus tablas: tblAños, tblAlumnos y dos DataSource que enlazas a éstas: dsAños -> tblAños dsAlumnos -> tblAlumnos Estableces una relación maestro-detalle entre ambas tablas: tblAlumnos.MasterSource -> dsAños tblAlumnos.MasterFields -> 'Año' Esto lo puedes hacer desde el inspector de objetos. Primero seleccionando el MasterSource y luego MasterFields en donde primero escoges el índice de la tabla alumnos que creaste para el campo'año ' y escogiendo en ambos lados, Detail y Master, el campo 'semestre'. De esta forma, cada vez que selecciones un registro en la tabla de años automáticamente se filtrará la tabla de alumnos reflejándose en la rejilla que tengas dispuesta para ello. Cómo seleccionas el registro deseado en la tabla de años puede hacerse en varias formas. Una es la que quieres usando un TabSet y cambiando el registro en su evento OnChange: tblAños.FindKey([TabSet.Tabs[NewTab]]); Aunque conforme pasen los años habrá demasiados. Yo mejor utilizaría un DBLookupComboBox: cboAños.ListSource -> dsSemestre cboAños.ListField -> 'Semestre' cboAños.KeyField -> 'Semestre' Como comentario extra te digo que por mi parte yo no usaría componentes Query. Aunque normalmente puede resultar más eficiente, no es así en el caso de Paradox. Paradox parece hacer caso omiso de los índices cuando se utilizan consultas SQL y trabaja mucho mejor con relaciones maestro-detalle. Además, usando Queries debes reconsultar la base de datos cada vez que cambies de año, lo cual ocasiona-- haz la prueba para que veas la diferencia -- un parpadeo en la rejilla que no sucede con la relación maestro-detalle. Finalmente, aclaro que todas las componentes, nombres de campo, etc. que en los ejemplos tienen ñ deberán cambiarse por algún nombre que no la tenga. // Saludos Última edición por roman fecha: 04-11-2003 a las 17:13:57. |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|