Supongo que tendrás tus tablas paises y estados similares a éstas:
paises = (id, pais, ... )
estados = (id, estado, pais_id)
donde id es la llave primaria.
Tendrás dos Table (o los dataset que uses para tu base), tblPaises y tblEstados, enlazados a estas tablas. Tomas dos DataSource, dsPaises y dsEstados y los conectas a los Table mediante su propiedad DataSet.
Ahora, lo que debes hacer es establecer la relación maestro-detalle entre paises y estados. Para ello, en tblEstados asignas dsPaises a su propiedad MasterSource y en su propiedad MasterFields pones id;pais_id para relacionar la llave de la tabla paises con la llave foránea pais_id de la tabla estados.
Finalmente, en lugar de usar ComboBox, usa dos DBLookupComboBox, digamos cbPaises y cbEstados. Popnes sus propiedades así:
cbPaises.ListSource: dsPaises
cbPaises.KeyField: 'id';
cbPaises.ListField: 'pais'
y similar para los estados.
De esta manera, los combos mostrarán automáticamente los registros de las tablas, y, gracias a la relación con MasterSource y MasterFields, el combo de los estados se filtra automáticamente.
// Saludos
|