FoxPro/Visual FoxPro - COMBOBOX DEPENDIENTE CON DATOS DE 2 COLUMNAS

   
Vista:
Imágen de perfil de daniel

COMBOBOX DEPENDIENTE CON DATOS DE 2 COLUMNAS

Publicado por daniel fox_bravo@hotmail.es (21 intervenciones) el 06/07/2017 07:00:09
PARA LOS TROME
TENGO 2 COMBOS COMBO 1 y COMBO 2 EN UN MISMO FORMULARIO
COMBO1 CARGA DATOS DE LA TABLA TIPO_DOCUMENTOS.TIPOS DONDE HAY 3 OPCIONES (LICENCIAS,CERTIFICADOS,PASES)
NECESITO QUE:
COMBO 2 " de una sola columna" CARGUE DATOS DE LA TABLA DOCUMENTOS.DOC1,DOCUMENTOS.DOC2,DOCUMENTOS.DOC3
Y DEPENDIENDO DE LA OPCION QUE SELECCIONE DEL COMBO1 ME MUESTRE UNO DE LOS CAMPOS DE LA TABLA DOCUMENTOS.
ES DECIR SI SELECCIONO LA OPCION "LICENCIAS" EN COMBO1 EL COMBO2 ME MUESTRE LOS DATOS DE LA COLUMNA DOCUMENTOS.DOC1
Y SI SELECCIONO LA OPCION "CERTIFICADOS" EN COMBO1 EL COMBO2 ME MUESTRE LOS DATOS DE LA COLUMNA DOCUMENTOS.DOC2

LLEVO BUEN RATO INTENTANDO Y NO E TENIDO SUERTE, DESDE YA LAS GRACIAS A LOS QUE PUEDAN APOYARME
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauricio Antonio

COMBOBOX DEPENDIENTE CON DATOS DE 2 COLUMNAS

Publicado por Mauricio Antonio (1439 intervenciones) el 06/07/2017 13:27:20
Puedes postear el codigo que tienes hecho?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

COMBOBOX DEPENDIENTE CON DATOS DE 2 COLUMNAS

Publicado por Fidel José (538 intervenciones) el 06/07/2017 15:55:07
En el evento Click del Combo1, deberías tener algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
local lcValue,lcRowSource
lcValue = PROPER(ALLTRIM(this.DisplayValue))
IF !EMPTY(m.lcValue)
	DO CASE
		CASE m.lcValue = "Licencias"
			lcRowSource = "documentos.Doc1"
		CASE m.lcValue = "Certificados"
			lcRowSource = "documentos.doc2"
		CASE m.lcValue = "Pases"
			lcRowSource = "Documentos.Doc3"
	ENDCASE
	WITH this.Parent.combo2
                .Clear
		.ControlSource = m.lcRowSource
		.RowSourceType = 2
		.RowSource = m.lcRowSource
		.Enabled = .t.
		.requery
		.refresh
	ENDWITH
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de daniel

COMBOBOX DEPENDIENTE CON DATOS DE 2 COLUMNAS

Publicado por daniel (21 intervenciones) el 06/07/2017 16:41:00
Fidel Gracias por la respuesta, dime como iria en la propiedades del combo 2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

COMBOBOX DEPENDIENTE CON DATOS DE 2 COLUMNAS

Publicado por Fidel José (538 intervenciones) el 06/07/2017 20:20:40
La configuración del combo1 se supone que las haces con una tabla donde tienes los documentos.
La configuración del combo2 la hace el combo1, al seleccionar algún ítem
No sé qué quieres hacer con eso. Se supone que en el evento click del combo2 haya un código que te conduzca a algo. Tal vez mostrar un documento.

De todos modos, una forma estándar de empezar en el evento click del combo2, suponiendo que tenés tres forms para mostrar cada cosa sería:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
LOCAL lcValue,lcTipo
lcTipo = PROPER(ALLTRIM(this.Parent.cmb_combo1.DisplayValue))
lcValue = PROPER(ALLTRIM(this.DisplayValue))
IF !EMPTY(m.lcValue)
 
	DO CASE
		CASE m.lcTipo = "Licencias"
			DO FORM licencias WITH m.lcValue
		CASE m.lcTipo = "Certificados"
			DO FORM Certificados WITH m.lcValue
		CASE m.lcTipo = "Pases"
			DO FORM Pases WITH m.lcValue
	ENDCASE
 
 
ENDIF

También puede ocurrir que se derive a un método del form que tenga dos parámetros:
1
2
3
4
5
6
LOCAL lcValue,lcTipo
lcTipo = PROPER(ALLTRIM(this.Parent.cmb_combo1.DisplayValue))
lcValue = PROPER(ALLTRIM(this.DisplayValue))
IF !EMPTY(m.lcValue)
       ThisForm.Metodo_Resolutivo( m.lcTipo, m.lcValue)
ENDIF

También puede ocurrir que el combo no decida nada y haya un botón adjunto al que hay que atacar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad