Mostrar dos campos en combobox

Tengo visual fox pro 5.0 estoy trabajando con un formulario en que he agregado un combobox de una tabla sencilla de 2 campos: codestado y estado, y que al seleccionar algunos de los registros se visualicen por ej CO CERRADO o AP ABIERTO, se muestren los dos campo de la tabla he hecho de todo al tocar la lista estos se visualizan pero cuando llego a seleccionar algún registro en la parte superior solo me muestra el primer campo. Que hago mal... No se.

1 respuesta

Respuesta
1
Efectivamente, cuando seleccionas un valor en el combo, solo mostrara como seleccionado uno de los 2 campos. Lo que yo te sugeriría es que mostres un valor en el combo y configurando un código en el evento InteractiveChange del mismo combo, mostres el segundo valor en un text! Eso ha servido de solución a muchos otros usuarios que me han consultado sobre le mismo tema. Pero no see.. si es realmente lo que quieres.
Avisame y con gusto te ayudo a solucionar tu problema.
Y que código en el evento InteractiveChange del mismo combo le pongo como lo hago no lo sé como hago para coger el segundo valor en el cuadro de texto ayer intente hacerlo pero solo me salia el primer valor de la tabla de la segunda columna te lo juro hice muchas pruebas y nada... podrías enviarme algo por favor... te lo agradeceré de antemano.
Saludos
mavall
Eso es re fácil! Jejee! Vamos desde el inicio. Ve a las propiedades de tu combo (Combo1), en la pestaña (numero 2) Data, establece la propiedad RowSourceType = 6 - Fields. Ahí mismo establece la propiedad RowSource haciendo referencia a los campos de tu tabla... te debe quedar algo así: ROwSource = tutabla. Codestado, estado
Ahi mismo, establece la propiedad BoundColumn = 1
Luego ve a la pestaña Layout (mi visual esta en ingles) y establece la propiedad ColumnCount = 2 Así delimitas las dos columnas que mostrara el combo. Bien... ahora:
Agrega un Text a tu form... en este caso supongamos que el nombre del control es Text1
Ve al evento InteractiveChange de tu combo y escribe un código como este:
WITH THISFORM
SELECT tutabla
LOCATE FOR codestado => VAL(THISFORM.Combo1.Value)
            IF FOUND()
            THISFORM.Text1.Value = estado
ENDIF
Y listo! Proba y me avisas! Si tienes algún problema, no dudes en hacérmelo saber para ayudarte! Un abrazo!
Muchas gracias por el interés que le pones por ayudarme, pero "no me funciono", bueno te comento que en la propiedad del combo1 en controlSource: Codestado2.Codestado, donde codestado2 es el nombre de la tabla y en text1 con la propiedad ControlSource: Codestado2. Estado ya que estado es lo que necesito capturar es decir el segundo campo solamente me aparece el contenido del primer registro y no hace nada, es más he agregado un ENDWITH al final para cerrar el WITH que tengo al inicio. La verdad es que no interactúa nada no se que tengo malo. Dime si tengo mala los control Source de ambos objetos. Saludos
Hmmm.. ya veo! A ver... tengo mucho interés en ayudarteee! Facilitarme tu correo y te voy a hacer un ejemplo sencillo para que veas como va la cosa y así no te enredes je je!
Dale! A tus ordenes!
Ravenn! :)
Mi correo es [email protected] muchas gracias por ayudarme y por el encanto de jejej.
Saludos
mavall
Disculpa la tardanza! He enviado un ejemplo a tu correo! Te pido finalices esta consulta. Si te surgen dudas, avisame! Recordá que debes extraer la carppeta del proyecto que te envíe... extraela del archivo zip y cópiala en tu ordenador! De lo contrario.. no podrás ejecutar el proyecto! \
Saludos!
Desde Managua, Nicaragua!
A tus ordenes!
Ravenn! :D :D :D

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas