Como configurar un combobox en foxpro

Estoy intentando que cuando le de clic sobre la selección en un combobox me ejecute un form determinado

Para presentar los datos en el combo uso este código.

 abre_tabla ("menu_principal")
SELECT menu_principal
SELECT codigo,tipo,des FROM menu_principal INTO CURSOR reporte_cxc READWRITE
SELECT reporte_cxc
cierra_tabla ("menu_principal")
THISFORM.menu1.page1.mtiponomina.ROWSOURCE = 'reporte_cxc'

Nota abre_tabla es un procedimiento que uso para abrir la tabla

menu_principal es la tabla y esto son los campos código, tipo, des

Intente con este código pero no me funciono se ejecutan los dos formulario

IF THISFORM.menu1.page1.mtiponomina.value = 1
DO FORM pro_factura
ENDIF
IF THISFORM.menu1.page1.mtiponomina.value = 2
DO FORM pro_facturacion
ENDIF

1

1 Respuesta

125.550 pts. Me alegra poder estar de regreso. A la orden para sus...

Es un placer saludarte. Recuerda siempre dirigir la pregunta al experto. Pasaron días y no había visto :(

Hay algunas cosas que me dan la impresión que es un error de configuración.

Acá tienes

THISFORM.menu1.page1.mtiponomina.ROWSOURCE = 'reporte_cxc'

Donde 'reporte_cxc' es el nombre del cursor...! El cursor tiene todos los campos de la consulta... por tanto me da la impresión que foxpro no reconoce el valor de la validación con IF porque no has nombrado el campo en si, que se mostrara.

Si el combobox se carga con un cursor... debes decirle que la fuente de datos es un cursor.

THISFORM.menu1.page1.mtiponomina.ROWSOURCETYPE = 6

Y ACA debes nombrar el campo a mostrar

THISFORM.menu1.page1.mtiponomina.ROWSOURCE = 'reporte_cxc.codigo'

Ahora... ¿el tipo de datos del campo a validar y que se muestra en el combo (1 y 2) es de tipo carácter o numérico? Si es carácter, entonces la validación del If debe ser entre comillas dobles, así:

IF THISFORM.menu1.page1.mtiponomina.value = "1"

Si es numérico.. entonces le quitas comillas.

Proba y me avisas!

¡Gracias! Amigo me funciono a la perfección con tu ideas

Por consultar. Cualquier cosa, recuerda escribir la pregunta directa al experto. :)

Un abrazo! Estamos en contacto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas