PDA

Ver la Versión Completa : Sumas sucesivas


sisne
08-04-2010, 00:34:47
Holas a todos.
Por favor alguien puede ayudarme?
Tengo una tabla con campos definidos de tipo INT. Pues tengo problemas al realizar la operacion de la suma:

Fmensual.TotalRecibido.Text:=IntToStr(Round(Rec-(Cant*Rec*San/100)));//Hasta aqui perfecto
Fmensual.MontoTR.Text:=IntToStr(StrtoInt(Fmensual.MontoTR.Text)+StrtoInt(Fmensual.TotalRecibido.Text ));

Donde 1ero:
Obtengo el total recibido sin problema y seguidamente quiero sacar el monto total recibido, que seria la suma del monto total recibido ya antes obtenido(osea del registro anterior), mas el reciente total recibido.

Pero me aparece error.
Project Pbecarios.exe raised exception class EConvertError with message "'is not a valid integer value'. Process stopped. Use Step or Run to continue.

Bueno entiendo que no puedo convertir el valor... Por si acaso estoy usando base de datos SQL server.
Entonces como puedo hacer, por favor alguien?

Caral
08-04-2010, 02:59:58
Hola
Entendamos el codigo parte por parte:
Aqui haces unos calculos sencillos indicando que el edit TotalRecibo es el que contendra el dato final.
Bien.


Fmensual.TotalRecibido.Text:=IntToStr(Round(Rec-(Cant*Rec*San/100)));

Luego quieres que el edit MontoTR sea sumado al edit TotalRecibo.

Fmensual.MontoTR.Text:=IntToStr(StrtoInt(Fmensual.MontoTR.Text)+StrtoInt(Fmensual.TotalRecibido.Text ));
Bueno, aqui es donde esta el problema.
1- si el edit MontoTR no contiene un numero dara un error, por lo menos tiene que contener un cero (0), asi el error no saldra.
2- Si el edit MontoTR contiene un cero, el total siempre sera el mismo que el del edtit TotalRecibido.
Saludos

sisne
08-04-2010, 09:12:53
Hola Caral,
Efectivamente tienes razon, el MontoTR solo tomará el valor de TotalRecibido si es que MontoTR seria (0).

En mi primer registro lo que quiero que aparezca es:
TotalRecibido=300 MontoTR=300
En mi segundo registro quiero que se sumen esos valores de:
TotalRecibido=350 MontoTR=650
En el tercer registro que se sumen....
TotalRecibido=200 MontoTR=850

...y asi sucesivamente...como ves en mi suma quiero que tome el valor anterior, osea de mi registro anterior.
Intente colocando Tabla.prior; Tabla Edit;.... para que supuestamente tome el valor anterior...pero nada...

Estos campos fueron definidos en tablas de SQL Server , de tipo entero y estoy usando Form de Delphi.


Gracias por el interes...de verdad...

sisne
09-04-2010, 10:58:44
Holas foreros..
Les comento que solucioné con mi dichoso problemilla...
El problema fue:

Fmensual.MontoTR.Text:=IntToStr(StrtoInt(Fmensual.MontoTR.Text)+StrtoInt(Fmensual.TotalRecibido.Text ));

El problema fue lo q esta de negrilla...no podia asignar el valor...antes se tenia q asignar editando a misma tabla a princpio del codigo...

Gracias de todas maneras a tooooodos.

Saludos