FoxPro/Visual FoxPro - Ayuda con un ComboBox

 
Vista:

Ayuda con un ComboBox

Publicado por edgar (38 intervenciones) el 29/12/2002 23:16:15
Amigos:

ojala alguien me pueda ayudar con este problema que me tiene de cabeza. tengo un formulario a en el cual puse el dataenviroment solo una tabla. tengo un combobox en dicho formulario en el cual quiero mostrar la descripcion de los articulos de mi tabla (campo:descripcion), en esa misma tabla tengo otro campo numero con la clave del articulo:idarticulo. las propiedades del combobox que he modificado son: controlsource=tabla.descripcion, RowSource=tabla, RowsourceType=Alias. el problema es que siempre en el momento de correr la aplicacion y ejecutar el formulario me sustituye los valores del campo descripcion por valores numericos, por ejemplo si tengo solo un articulo en lugar de mostrarme el nombre simpre me muestra el numero 1 y ademas ese valor lo sustituye tambien en la tabla. ¿Cuál es mi error? ojala me puedan ayudar.

Gracias
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

RE:Ayuda con un ComboBox

Publicado por Roman Suazo (2723 intervenciones) el 30/12/2002 16:24:07
Como no entiendo bien tu problema Te lo voy a explicar con un ejemplo sencillo como funcionan los combos:

Supongamos que en una tabla estas almacenado los carros de una
compañia. La tabla se llamara 'carros', tendra dos campos:' Placas'
y 'marca'.

El campo 'placas' sera caracteres pero el de marcas sera numerico,
por que? Bueno, porque utilizaremos otra tabla que nos dara los
nombres de las marcas para verlas en el combobox, pero en nuestra
tabla 'carro' solo almacenaremos el codigo de la marca.

La otra tabla que ocupamos se llama 'marcas'. dos campos: id, marca.
El primero numerico (para 'relacionarlo' con el campo marca de la tabla
'carros') y unico y en el segundo caracteres (toyota, mazda, ford).

HAces una forma: un textbox y un combo, en el textbox pones el campo
'placas' de la tabla 'carros' y en el combo pones la siguiente descripcion:

columnwidth=0,100
boundcolumn=.2.
boundto=.t.
columnlines=0
controlsource=carros.marcas

En El evento init del combo pones el siguiente codigo:

this.rowsource='selec marcas.marca, marcas.id from marcas order by 1
into cursor tabla'
this.rowsourcetype=3
dodefault()

y ya estuvo en el combo vas a poder ver la diferentes marcas de carros
(toyota, mazda, etc) pero en realidad solo se almacenan los codigos en
la tabla 'carros'. Se que no me explique bien pero creo que el ejemplo te
ayudara mucho...

Si algo no sale nos avisas.

Saludos
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

RE:Ayuda con un ComboBox

Publicado por upliftmofopartyplan (265 intervenciones) el 02/01/2003 17:07:54
Hola!!
Lo que tienes que hacer es definir la propiedad ROWSOURCE en
TABLA.CAMPO (campo que quieres ver en el combo)
El CONTROLSOURCE, también lo puedes poner en TABLA.CAMPO
pero lo único que hace es que te muestre el primer valor del combo, si no lo pones el combo aparece en blanco (el primer valor).
puedes probar poniedo el ControlSource por ejemplo en tabla.idarticulo y el RowSource en tabla.descripcion, y verás que igualmente el combo tendrá las descripciones.
por las dudas pon el combo en ReadOnly.
saludos
Uplift
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