Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Agregar columna a Dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=66798)

abdielalej 12-03-2010 16:12:51

Agregar columna a Dbgrid
 
necesito ver si es posible agregar una columna a un Dbgrid asociado a una tabla....
Explico:
tengo una tabla: Producto con los sgtes campos:

nombreprod
unidadmedida

lo que quiero hacer es entrar de una tienda la cantidad comprada de cada producto...
entonces cargo en un Dbgrid: nombreprod,unidadmedida...pero quisiera que me saliera otra columna que diga cantidad...importe

O sea quede así:

nombreprod,unidadmedida,cantidad,importe(en el Dbgrid) para de ahí insertar los valores en otra tabla...

Por favor... ayúdenme...

nota: O si estoy pensándolo mal...sugiéranme algo....Gracias

Neftali [Germán.Estévez] 12-03-2010 16:40:21

Hola.
Te recomiendo que ya que eres usuario nuevo por estos lares, revises la Guía de estilo.

En cuanto a la pregunta, si las columnas no existen en el DBGrid, creo que la mejor opción es que trabajes en memoria utilizando un TClientDataset.

abdielalej 12-03-2010 17:31:40

Gracias por responder Neftalí....
lo que no existe como tal es el campo cantidad en la tabla producto....
lo que quiero hacer es que el Dbgrid me liste en una columna todos los nombres de productos(de la tabla producto),otra columna con las unidades de medidas(de la tabla producto)....el problema es que por cada producto que se liste en el Dbgrid quiero ponerle la cantidad que se compró. Es ahí mi duda...cómo le agrego esa columna "cantidad" que no está en la tabla producto...
Muchas gracias de nuevo...

Casimiro Notevi 12-03-2010 17:34:40

Y ese campo "cantidad" está en alguna tabla, se supone?, ¿y qué tipo de base de datos usas?

Neftali [Germán.Estévez] 12-03-2010 17:41:52

Cita:

Empezado por abdielalej (Mensaje 356731)
....el problema es que por cada producto que se liste en el Dbgrid quiero ponerle la cantidad que se compró. Es ahí mi duda...cómo le agrego esa columna "cantidad" que no está en la tabla producto...

Ok, pero para saber cómo afrontarlo falta información.
Sabemos que el campo CAntidad no está en la tabla producto.

Una vez rellenadas las cantidades ¿Qué deseas hacer luego con eso?
¿Esas cantidades que has rellenado se deben guardar en algun sitio? ¿Las vas a tener que recuperar posteriormente?
...

abdielalej 12-03-2010 17:55:43

Muchachos gracias por el interés.
Si tengo un page control. Donde cada pestaña es una tienda...y cada una quiero que tenga un dbgrid donde a cada producto pueda asignarle la cantidad comprada en el día...la tabla producto ya la tengo llena...
Ahora esos datos que recoga van a una tabla que se llama tiendaproducto
sus campos son: nombretienda,nombreproducto,cantidad,importe,fecha

La base de datos es en Access....Saludos y gracias....

rgstuamigo 12-03-2010 20:10:53

Cita:

Empezado por abdielalej (Mensaje 356736)
Muchachos gracias por el interés.
Si tengo un page control. Donde cada pestaña es una tienda...y cada una quiero que tenga un dbgrid donde a cada producto pueda asignarle la cantidad comprada en el día...la tabla producto ya la tengo llena...
Ahora esos datos que recoga van a una tabla que se llama tiendaproducto
sus campos son: nombretienda,nombreproducto,cantidad,importe,fecha

La base de datos es en Access....Saludos y gracias....

Entonces por que no hacerlo directamente en la consulta SQL?:confused: y te olvidas de complicarte la vida...;).
Saludos...:)

abdielalej 12-03-2010 21:14:55

No entiendo...yo hago una consulta a la tabla productos para que el usuario no se equivoque al entrar el nombre y muestro en el Dbgrid cada nombre y su unidad de medida, ahora al lado quiero que por cada producto listado en el Dbgrid, aparezca una columna que diga cantidad, para llenar la cantidad que se compró por cada produto o sea:

producto U/M cantidad

producto1(Esto de BD) Kg 10(estos datos los entra el usuario)
producto2 U 12
producto3 Kg 20

Ahora cómo creo esa columa(cantidad)??? Porque cantidad no está en la tabla producto...está en la otra tabla donde voy a insertar los datos....

nota: Ahora cuando el usuario llene la cant de todos los productos, da click
en un botón e ingresa estos datos más otros en otra tabla.¿Me explico?

Los veo el lunes que les estoy escribiendo del trabajo...por favor contesten

rgstuamigo 13-03-2010 14:50:13

Segun lo que entiendo para solucionar tu problema deberías hacer la siguiente Consulta SQL:
Código SQL [-]
Select NombreProd,UnidadMedida,tp.Cantidad from
Producto p Inner Join TiendaProducto tp on (p.NombreProd = tp.NombreProducto);
Ahora si lo quieres hacer por "Tienda" es decir para una tienda específica tu consulta SQL podría ser así:
Código SQL [-]
Select NombreProd,UnidadMedida,tp.Cantidad from
Producto p Inner Join TiendaProducto tp on (p.NombreProd = tp.NombreProducto)
Where tp.NombreTienda =  'Nombre_de_Tienda_Que Quieras ';
.
Como ves no importa si los campos estan en diferentes tablas, tan solo las tablas deben tener una relación entre si, en otras palabras tu base de datos debe estar bien diseñada y/o estructurada.;).
Espero te sea de utilidad...;)
Saludos...:)

abdielalej 15-03-2010 13:00:03

rgstuamigo

Disculpa pues les escribo del trabajo y venía hasta hoy.
Tengan paciencia conmigo parece que no me explico bien, o no los entiendo...
la tabla tiendaproducto es la que voy a ir llenando con los datos que ingrese el usuario.
O sea este Dbgrid quiero usarlo de primera instancia para introducir datos, no para leer los que están escritos ya ¿me explico?
la tabla producto está llena, y la tabla tienda producto está vacía...y la voy a ir llenando con los datos del Dbgrid....si en la consulta pongo el campo cantidad del tiendaproducto... a medida que se vaya llenando...cuando al otro día por ejemplo quiero introducir la cantidad comprada de un producto...como la consulta que llena el Dbg tiene el campo cantidad de tienda producto ¿no me aparecería lleno esa comuna cantidad? ...y es lo que no quiero....quiero que esté en blanco para poner la cantidad...y así guardarla en tiendaproducto...mi pregunta es ¿las columnas que se muestran en un Dbg tienen que ser obligatoriamente un campo de una tabla?¿No puedo usar un DBg para introducir datos, o es solo para leer?
Porque en mi ejemplo lo quiero hacer para las dos coasa, la comuna producto(lee de la tabla p) pero cantidad no quiero que lea de ninguna tabla, sólo que de la posibilidad de escribir el dato para insertarlo en tiendaproducto...
Esper haber sido claro... si no tengo claro el concepto por favor explíquenme....Muchas gracias...



La franja horaria es GMT +2. Ahora son las 05:06:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi