Sv Community El Salvador

Soporte y Tecnología => Programación => FOX => Mensaje iniciado por: bismarck73 en julio 09, 2008, 08:49:54 am

Título: ayuda a filtrar combos en vfox
Publicado por: bismarck73 en julio 09, 2008, 08:49:54 am
tengo hechos 2 combos, 1. departamentos y 2. municipios la onda es que al seleccionar un item del combo 1 departamentos, al seleccionar el combo 2 municipios me filtre solo los que pertenecen al departamento en el combo 1.

ej. departamento: San Miguel,  Municipios: San miguel, moncagua, sesori, lolotique, etc.

esta es la expresion q estoy usando

combo 1 departamento
row source: sele nombredpto,coddpto into cursor curdepto from deptos
row source type: sql statement


combo 2 municipios
row source: sele nombremuni, coddpto,codmuni into cursor curdmuni from municipios where curdmuni.coddpto=curdepto.coddpto

row source type: sql statement

toy oxidado  :sorry:
Título: Re: ayuda a filtrar combos en vfox
Publicado por: ruiz en julio 09, 2008, 09:00:22 am
ok como el segundo comobo es dinamico te recomiendo que hagas esto.

en el evento click del comobo 1 pon esto

x_coddpto = THIS.VALUE
asumiendo que el valor que retorna el combo 1 es coddpto o codigo de departamento.


THISFORM.combo2.CONTROLSOURCE   = ''
THISFORM.combo2.ROWSOURCE      = ''
THISFORM.combo2.ROWSOURCETYPE   = 0
THISFORM.combo2.VALUE         = 0

sele nombremuni, coddpto,codmuni into cursor curdmuni from municipios where curdmuni.coddpto=x_coddpto into cursor 'tmp_municipio'


IF _TALLY > 0
   THISFORM.combo2.CONTROLSOURCE   = 'tmp_municipio'
   THISFORM.combo2.ROWSOURCE      = 'tmp_municipio'
   THISFORM.combo2.ROWSOURCETYPE   = 6
   THISFORM.combo2.VALUE         = 1
        THISFORM.combo2.SETFOCUS
   
ENDIF


espero te sirva..
Título: Re: ayuda a filtrar combos en vfox
Publicado por: bismarck73 en julio 09, 2008, 11:22:03 am
gracias man por la ayuda, jugando por ahi me quedo asi:

Load
sele nombredpto, coddpto into cursor curdepto from deptos
sele nombremuni, coddpto,codmuni into cursor curdmuni from municipios where coddpto=curdepto.coddpto

ítems in form
obdepartamento (type combo)
    /Properties/data
rowsource: sele nombredpto, coddpto into cursor curdepto from deptos
      rowsourcetype: 3 sql

    /interactivechange
sele nombremuni, coddpto,codmuni into cursor curdmuni from municipios where coddpto=curdepto.coddpto
thisform.obmunicipio.Refresh

Obmunicipio (type combo)
    /Properties/data
rowsource: curdmuni
      rowsourcetype: 2 alias

gracias a Dios me furula ....  :wub: