Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como se puede hacer una suma en delphi (https://www.clubdelphi.com/foros/showthread.php?t=79709)

beteta 02-08-2012 08:29:40

Como se puede hacer una suma en delphi
 
bueno muchas les expongo mi problema yo quisiera hacer una suma en delphi pero los datos estan
en una base de datos quisiera saber como se hace miren le dejo el proyecto para que lo descargen y
me pueden indicar como se podria hacer aqui les dejo el link espero su ayuda ante mano muchas gracias

http://fileden.com/files/2008/8/11/2045044/Ejemplo.zip

champy 02-08-2012 08:41:53

No he visto el proyecto, pero me atreveré a anticipar la respuesta que te van a dar.

Paso1. Leer los datos de la base de datos.

Paso2. Sumarlos.

Paso3. Mostrar un mensaje con el resultado.

Si tienes alguna duda concreta, especifica la pregunta, o dudo que nadie te pueda ayudar.

Espero haberte sido de ayuda :o

beteta 02-08-2012 08:46:41

si eso es lo de seguro pero echale un ojo es que lo que pasa que no encuento la forma de hacerlo
en la base de datos que tengo local que es mysql desde el workbench si lo ago con el codigo query
pero no se como hacerlo en delphi dale un visto y me cuentas

gracias amigo por responder

Casimiro Notevi 02-08-2012 08:54:35

Supongamos que tienes en la base de datos una tabla que se llama tbArticulos.
Supongamos que en la tabla tbArticulos, entre otros, tienes los siguientes campos: id, nombre, precio, stock1, stock2
Supongamos que quieres saber la suma del stock en almacen1 (stock1) y del almacen2 (stock2) que tienes.
Bien, entonces:
Código SQL [-]
select id, nombre, precio, stock1+stock2 as sumastock from tbarticulos
Y si es eso lo que preguntas, entonces esa es la respuesta.

Casimiro Notevi 02-08-2012 08:56:54

Bien, ahora veo lo que has enlazado, podías haber puesto esas 'instrucciones' y estaría más claro, la pego aquí:

Cita:

Buenas amigos aqui le dejo la iformacion a ver si se pude

yo quisiera saber si se puede hacer esta operacion

la cual es de la siguiente manera;

quiero que el progrma sume en la base de datos mediante un query u otro
componente el total de la venta quiere dicer

que deceo que sume los totales de las oredenes que son iguales digamos

idventa Norden Pcodigo Precio cantidad total
1 1 5 160 1 160
2 1 2 150 2 300
3 1 3 200 2 400
4 2 1 125 2 250
5 2 2 250 2 500





SELECT SUM(total)

FROM `venta.db`

WHERE norden = ¡¡ aqui quiero que vaya los datos de un Edit1.text que
seria ya sea 1 o 2 dependiendo el Norden;

y que el resultado me lo tire ya sea en una label o en un edit

espero susrespuestas


solo cual quiero que sume

idventa Norden Pcodigo Precio cantidad total
1 1 5 160 1 160
2 1 2 150 2 300
3 1 3 200 2 400

label o edit daria como resultado total a pagar 860


ecfisa 02-08-2012 10:36:38

Hola.

Por lo pegado en el mensaje de Casimiro a grosso modo pienso que sería algo así:
Código Delphi [-]
...
var
  elTotal: Double;
begin
  Query.Close;
  Query.SQL.Text:= 'SELECT SUM(TOTAL) AS TOTAL FROM VENTA WHERE NORDEN = :PORDEN');
  Query.ParamByName('PORDEN').Value:= StrToInt(Edit.Text);
  Query.Open;
  elTotal:= Query.FieldByName('TOTAL').Value;
  Query.Close;
  Caption:= Format('%8.2f',[elTotal]);
  ...
end;

Saludos.

beteta 02-08-2012 16:25:06

voy a provar una pregunta mas tendria que poner algo en el query o solo lo pongo asi
pregunto por que talvez en el Sql sting lleve algun contedino solo aso es

beteta 02-08-2012 16:34:27

Prove y no me funciono me quedo algo asi
Código SQL [-]
var
  Form1: TForm1;elTotal: Double;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
 begin
 Query1.Close;
  Query1.SQL.Text:= 'SELECT SUM(TOTAL) AS TOTAL FROM VENTA WHERE NORDEN = :PORDEN');
  Query1.ParamByName('PORDEN').Value:= StrToInt(Edit1.Text);
  Query1.Open;
  elTotal:= Query1.FieldByName('TOTAL').Value;
  Query1.Close;
  Label1.Caption:= Format('%8.2f',[elTotal]);

Casimiro Notevi 02-08-2012 19:50:33

¿Y por qué no te funcionó?.
Es que no somos adivinos, hace falta que lo expliques ;)

beteta 02-08-2012 21:42:34

Query1.SQL.Text:= 'SELECT SUM(TOTAL) AS TOTAL FROM VENTA WHERE NORDEN = :PORDEN');

corri el progrma y en esta linea se queda de ahi no pasa

Casimiro Notevi 02-08-2012 21:50:28

¿:confused: cómo?

roman 02-08-2012 22:01:02

Cita:

Empezado por beteta (Mensaje 438735)
Query1.SQL.Text:= 'SELECT SUM(TOTAL) AS TOTAL FROM VENTA WHERE NORDEN = :PORDEN');

corri el progrma y en esta linea se queda de ahi no pasa

Te sobra el paréntesis final. Quítalo.

// Saludos

beteta 02-08-2012 22:06:31

aqui les dejo el protecto para que vean que no me funciono la verdad no se como espicarlo por que para eso soy muy malo pero bueno que mas explicacion mirelon aqui el proyecto

fileden.com/files/2008/8/11/2045044/ejemplo2.zip

roman 02-08-2012 22:24:20

Lee mi mesaje, ya te dije cuál es el problema.

Y una recomendación. Intenta aclarar bien lo que expones. Cuando dices

Cita:

corri el progrma y en esta linea se queda de ahi no pasa
realmente no corriste el programa, es decir, nunca lo ejecutaste porque el compilador falló en esa línea. Entonces habría sido más claro si hubieras escrito:

Cita:

Hay un error de compilación en esa línea
// Saludos

beteta 02-08-2012 22:43:17

bueno ya leei tu mensje gracias y mira la verdad noce mucho de esto apenas estoy empezando este es un
proyecto de la escuela y la verdad no se mucho pues pero ya resolvi algunos errores pero ahora no se puede ejecutar la consulta saber encerio que es lo que pasa mira lo

fileden.com/files/2008/8/11/2045044/ejemplo3.zip

si puedes hacer que corra te agradeceria mucho encerio

roman 02-08-2012 22:52:47

A ver, tu código actual dice esto:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Text:= 'SELECT SUM(Total) FROM Venta.DB WHERE NORDEN = :PORDEN';
  Query1.ParamByName('PORDEN').Value:= StrToInt(Edit1.Text);
  Query1.Open;
  elTotal:= Query1.FieldByName('TOTAL').Value;
  Query1.Close;
  label6.Caption:= Format('%8.2f',[elTotal]);
end;

A tu consulta le quitaste el AS TOTAL que estaba antes y claro, ahora no reconoce ese campo cuando lees:

Código Delphi [-]
elTotal:= Query1.FieldByName('TOTAL').Value;

Pero no podemos andar adivinando todo por ti. Te marcó un error de ejecución y debiste ponerlo aquí.

// Saludos

beteta 02-08-2012 22:55:35

y entonces que debo de hacer ahi volver a poner AS TOTAL para que si me pueda funcionar

roman 02-08-2012 23:02:17

Sí.

// Saludos

beteta 03-08-2012 00:40:27

gracias amigo eso precisamente estaba buscando


La franja horaria es GMT +2. Ahora son las 18:14:29.

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