Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Agregar registros a un DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=76782)

lucas05 27-11-2011 16:31:41

Agregar registros a un DBGrid
 
Hola, quería saber como puedo cargar un DBGrid con los registros de una tabla.
Estoy usando un Edit1, Edit2, Button1, Button2 y un DBGrid(este lo conecto a la base de datos usando DataSource, ADOQuery, ADOConnection).
Quiero lograr que el usuario ingrese el id del articulo en el Edit1, haga clic en el Button1 y se cargue en el DBGrid el registro correspondiente a ese id.
Una vez que haya cargado varios registros que haga clic en el Button2 y sume todos los registros que estan en el DBGrid. En los registros hay un campo que se llama precio (donde esta el precio del articulo) ese es el campo que quiero sumar.
Osea si cargo 5 registros sumar el precio de los 5 registros y mostrar el resultado en Edit2.

Espero haber sido claro. Gracias por su ayuda.

ecfisa 27-11-2011 21:55:21

Cita:

Quiero lograr que el usuario ingrese el id del articulo en el Edit1, haga clic en el Button1 y se cargue en el DBGrid el registro correspondiente a ese id.
Una vez que haya cargado varios registros que haga clic en el Button2 y sume todos los registros que estan en el DBGrid. En los registros hay un campo que se llama precio (donde esta el precio del articulo) ese es el campo que quiero sumar.
Hola lucas.
Si estás ingresando nuevos datos, te aconsejo que en lugar de usar TEdit uses DBEdit. Luego sumar los precios es tán sencillo como recorrer el DataSet asociado del principio al fín, acumulando en una variable el valor de los sucesivos campos 'PRECIO'.

Pero si tu intención es ingresar un ID en el Edit, buscarlo y si está ponerlo en el DBGrid, creo que caemos en una situación similar a la del hilo anterior: Pasar datos de un DBGrid a otro DBGrid.
Con el agravante en este caso, que al tratarse de un solo DBGrid, se van a dar una de dos situaciones:
  • El campo ID es primary key o unique, resultado: Key violation.
  • El campo ID no es clave primaria, resultado: Al realizar la suma de precios obtendrás el valor duplicado, ya que lo estarías volviendo a ingresar.

Insisto: Si estás decidido a usar un DBGrid para almacenar las sucesivas selecciones y luego realizar la sumatoria de una de sus columnas, sólo tenés dos opciones:
  • TClientDataSet en memoria asociado al DBGrid (tenés el ejemplo en el hilo anterior)
  • Otra tabla asociada al DBGrid.
Tál como te comenté en el otro hilo: No se puede utilizar un TDBGrid sin que esté relacionado a un TDataSet.

Podrías buscar otras alternativas para almacenar las selecciones (TStringGrid, TListView, ...), componentes estos que no necesitan estar conectados a un DataSet para funcionar.

Saludos.


La franja horaria es GMT +2. Ahora son las 11:39:47.

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