![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#7
|
||||
|
||||
|
Cita:
empresas = (id, otros campos) practicas = (id, emp_id, año, otros campos) de manera que empresas.id se relaciona con practicas.emp_id. Lo que yo haría (y de hecho hago en un caso similar) es crear otra tabla auxiliar: emp_años = (emp_id, año) En lugar de usar empresas como tabla maestra de practicas usas emp_años: practicas.master -> emp_años practicas.masterfields -> 'emp_id;año' La tabla practicas deberá tener un índice para el par de campos emp_id, año. De esta forma, conforme te desplaces por la tabla emp_años, la tabla practicas reflejará únicamente los registros correspondientes a la empresa y al año identificados por (emp_id, año). Ahora sólo tienes que ver cómo moverte por la tabla emp_años. Yo usaría dos DBLooupComboBox enlazados a empresas y años: cboEmpresas.ListSource -> dsEmpresas cboEmpresas.ListField -> campo que desees mostrar cboEmpresas.KeyField -> id cboAños.ListSource -> dsAños cboAños.ListField -> 'año' cboAños.KeyField -> 'año' Asignas el mismo evento al OnChange de cboEmpresas y de cboAños para moverte de registro cuando cambie cualquiera de ambos: tblEmp_Años.FindKey([cboEmpresas.KeyValue, cboAños.KeyValue]) y ¡listo!, tu rejilla asociada a practicas mostrará sólo las prácticas de la empresa y año seleccionados. // Saludos |
|
|
|