Mostrar registros secundarios de una relacion utilizando combos

07/01/2004 - 23:15 por Manuel Copello | Informe spam
Hola a todos, necesito mostrar los registros secundarios de una relacion
utilizando combos.
Utilizando cuadriculas (grids) lo hace bien, pero con combos no me funciona.
Por ejemplo en el combo primario los países, en los secundarios provincias y
ciudades.
Alguna sugerencia.
Gracias
 

Leer las respuestas

#1 Ana María Bisbé York
08/01/2004 - 11:01 | Informe spam
Hola Manuel:

1.- En el Init de tu formulario puedes crear un cursor para mostrar en cada
ComboBox, por ejemplo:

SELECT descripcio, paisid FROM ('paises') ORDER BY descripcio INTO CURSOR
curpais

SELECT provincia, provinciid FROM ('provinci') ORDER BY provincia INTO
CURSOR curprovincia

SELECT LOCAL AS municipio, municipiid FROM ('municipi') ORDER BY municipio
INTO CURSOR curMunicipio

2.- Asocias el RowSource de cada ComboBox al cursor correspondiente

3.- En el InteractiveChange del cmbPais puedes tener algo como esto.

* Desenlazo
THISFORM.cmbProvincia.ROWSOURCE = ''

* Re-creo el cursor
SELECT provincia, provinciid FROM ('provinci');
WHERE provinci.paisid = THIS.VALUE ORDER BY provincia INTO CURSOR
curProvincia

* Restablezco el RowSource
THISFORM.cmbProvincia.ROWSOURCE = 'curProvincia.provincia,provinciid'

* Se hace el mismo proceso para los municipios

* Desenlazo
* Re-creo el cursor
* Restablezco el RowSource

En el InteractiveChange del cmbProvincia es similar, teniendo en cuenta sólo
los municipios
* Puedes asignar en variables locales los valores de los ComboBox cmbPais y
cmbProvincia
lcProvi = THISFORM.cmbProvincia.VALUE
lcPais = THISFORM.cmbPais.VALUE
* Desenlazo
* Re-creo el cursor
SELECT municipio, municipiid FROM ('municipi') ;
WHERE municipi.provinciid = lcProvi AND municipi.paisid = lcPais;
ORDER BY municipio INTO CURSOR curMunicipio
.* Restablezco el RowSource

Es una forma de hacerlo, lo puedes trabajar con vistas, etc. En este código
falta el control de errores.

Saludos,

Ana

"Manuel Copello" escribió en el mensaje
news:
Hola a todos, necesito mostrar los registros secundarios de una relacion
utilizando combos.
Utilizando cuadriculas (grids) lo hace bien, pero con combos no me


funciona.
Por ejemplo en el combo primario los países, en los secundarios provincias


y
ciudades.
Alguna sugerencia.
Gracias


Preguntas similares