Solved

# calculate table fields

Posted on 2007-04-02
172 Views
My Table1 has these values:
ID (Autoinc)
ST_POST (string)
POST_DESC (string)
PERCENT (String)  //Displays Percentage number
HOURS (String) // I manually enter number of hours)
To do some calculus in the grid i added 2 more calculated  fields:
CALC1 (Currency,To get this value i use on calculate fields of the Table1):
Table1CALC1.Value := Query2SALLARY.Value / Table2HOURS_MONTH.Value;
It workz ok...
CALC2 (Currency ...)
How can I get CALC2 to give me results of this formula (if PERCENT ='50'   ! !!!):
CALC2 = a * (b * 50/100) ;
Value 'a' is CALC1
Value 'b' is HOURS
Should I make PERCENT and HOURS into integere type fields as they are allways numbers?
0
Question by:srbenavrbe

LVL 21

Expert Comment

ID: 18838957
why don't you write SQL query that will return values already calculated?

ziolko.
0

LVL 17

Accepted Solution

TheRealLoki earned 250 total points
ID: 18839484
If you want to keep it as strings, then you could do something like this :-

procedure TForm1.Table1CalcFields(DataSet: TDataSet);
var
calc1, calc2: double; // storing in temp variables so you can easily work with them
percent_: double;
hours_: integer;
begin
calc1 := Query2SALARY.Value / Table2HOURS_MONTH.Value;
Table1CALC1.Value := calc1;
// now calculate CALC2
// if using strings
percent_ := 0; // default
hours_ := 0; // default
if (not Table1PERCENT.IsNull) then
percent_ := StrToIntDef(Table1PERCENT.AsString, 0); // default to 0 if not set
if (not Table1HOURS.IsNull) then
hours_ := StrToIntDef(Table1HOURS.AsString, 0); // default to 0 if not set
calc2 := calc1 * (hours_ * (percent_/100)) ;
Table1CALC2.Value := calc2;
end;
0

LVL 1

Expert Comment

ID: 21156534
Forced accept.

Computer101
0

## Featured Post

### Suggested Solutions

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…