Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Ayuda Con Combobox Y Firebird (https://www.clubdelphi.com/foros/showthread.php?t=22637)

pablo2244 22-06-2005 00:18:18

Ayuda Con Combobox Y Firebird
 
Hola, tengo una BD en Firebird que tiene una tabla "Pais" y otra "Provincia" unidas por un cod.
Quiero mostrar en un combobox los paises y en otro las provincias(dependiendo del pais del combobox anterior).

¿como hago esto?

afxe 22-06-2005 09:56:58

¿Te valen DbLookupComboBox?
 
Suponiendo que tenemos QryPais con la siguiente select:
SELECT COD_PAIS, NOM_PAIS FROM PAISES
Suponinedo que tenemos QryProv con la siguiente select:
SELECT COD_PROV, NOM_PROV, COD_PAIS FROM PROVINCIAS
WHERE COD_PAIS = :COD_PAIS
Con sus correspondientes DataSources.

1º Unimos la tabla QryProv con QryPais usando la propiedad Datasource del TQuery, para que cada vez que nos desplacemos por la tabla de Paises se queden visibles sólamente aquellas provincias del pais seleccionado (Para ello es muy importante que el parámetro de QryProv tenga el mismo nombre que el campo de enlace con QryPais).

2º Ponemos 2 TDBLookupComboBox. En el primero asignamos las propiedades ListSource, ListField y KeyField para enlazarlo con QryPais y el segundo asignamos las mismas propiedades para enlazarlo con QryProv.

3º Para que te quede 'bonico' y cuando te muevas por paises vaya cambiando las provincias mete en el evento 'onClick' del DBLookupComboBox de paises la siguiente instrucción:
dbLookupComboProvincia.KeyValue := QryProvCOD_PROV.AsInteger;

Espero que te sirva. Saludos.

pablo2244 23-06-2005 02:44:11

gracias!!, pero hay un problomita: cuando quiero seleccionar una provincia no puedo (las selecciona a todas). ¿que puede estar pasando?


La franja horaria es GMT +2. Ahora son las 13:37:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi