Agregar datos a un grid desde un Combo Box que contiene varios campos.

Tengo un grid y un combo box. Pero el Combo Box tiene 4 campos que son
id_producto
nombre_del_producto
descripción
precio
El problema es que cuando yo selecciono un producto del combo Box y le doy "Agregar"
En todas las columnas se me agrega solo el Id_producto.
Es decir
Seleccione del combo Box
4123 PERFORADORA Perforadora Mit Chica pintada 107.88
En el Grid me aparece

id_producto      Nombre_del_producto   Descripción     Precio
    4123                                 4123                         4123              4123

1 respuesta

Respuesta
1

Supongo que el combobox debe tener en la propiedad RecordSource un nombre de tabla desde donde lee dichos datos que mencionas.

Si es así, podrías incluir en el método InteractiveChange del Combobox algo así como lo siguiente:

Ej. Tabla "Articulo"

Thisform.Grid1.Column1.Text1 = Articulo.id_producto

Thisform.Grid1.Column2.Text1 = Articulo.nombre_del_producto

Thisform.Grid1.Column3.Text1 = Articulo.descripcion

Thisform.Grid1.Column4.Text1 = Articulo.precio

Esto podría ser la solución, aunque tengo várias dudas.. solo quieres ver lo selccionado en la grilla o tienes todos los registros y quieres que se pose sobre la opción indicada.

Hola, Gracias por Responder. Lo que necesito es que por ejemplo
del Combo Box yo seleccione 
8910    BOLIGRAFO     Boligrafo Trilux Faber 032  color       10.76$
Cuando le de agregar quiero que en el Grid aparezca los datos en la posicion indicado, asi como:
Grid 
id_producto       Nombre_del_producto               Descripcion                     Precio
  8910                              BOLIGRAFO          Boligrafo Trilux Faber..            10.76$

Como seria en ese caso. ? 

Se me olvido decir, que ya tengo todos los registros, solo quiero que se muestren en la Grilla. 

Es lo que te mencionaba anteriormente Carlos, si tienes una tabla en el combobox podrías crear un sql por ejemplo para mostrar los resultados en el Grid...

1. Abre propiedades del combobox y dime por favor que datos tienes en la propiedad RowSource y RowSourceType.

2. Abre propiedades de la Grilla y me dices que datos tienes en las propiedades RecordSource y RecordSourceType y si tienes renombrado los nombres de la grilla o el Name es Grid1?, a su vez las columnas son Column1, ¿Column2 y así?

Dime éstas cosas y puedo guiarte un poco mejor.

En el RowSource tengo Productos.id_producto_nombre_del_producto.descripcion.precio
En el RowSourceType tengo 
6 Campos
Esto es en el Combo Box 
en la Grilla tengo lo siguiente
RecordSource Factura
RecordSourceType 1 Alias
El Grid no lo tengo renombrado.. es Grid1 
Y las columnas salen asi como dices, column 1 , column2, etc.
En el RecordSource debe ir la tabla Productos ??
tengo duda en eso.. Ya que yo puse una tabla Factura que tiene los mismos campos que la de Productos. 
espero me halla explicado bien. 

1. Por lo que me dices la tabla "Productos" ya esta abierta por eso puedes ver la lista de los productos.

2. Cuando seleccionas un elemento del "Combobox", el cursor se mueve también a la tabla en el registro seleccionado.. por eso:

3. El "RecordSource" de la grilla debe decir "Productos" .

4. En el "Combobox" en la propiedad "InteractiveChange" escribes lo siguiente:

Thisform. Grid1. Setfocus

.. Esto hará que luego de que selecciones un registro en el Combobox salte a la grilla automáticamente y en la posición del registro seleccionado en el "combobox".

Dime si lo resuelves así. Éxitos!

Muchas Gracias. Una ultima duda.. Si en el RecordSource yo le pongo productos, al ejecutar el formulario, inmediatamente me saldrán ya los productos en el Grid? sin ser seleccionados? 

Exactamente!, ya que hace referencia a la tabla de productos te mostrará eso mismo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas