Solved

calculate table fields

Posted on 2007-04-02
4
175 Views
Last Modified: 2010-04-04
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
Comment
Question by:srbenavrbe
4 Comments
 
LVL 21

Expert Comment

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

ziolko.
0
 
LVL 17

Accepted Solution

by:
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

by:Computer101
ID: 21156534
Forced accept.

Computer101
EE Admin
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Convert Jpg /PNG To GIF 5 151
Delphi application Soap connection 5 123
Delphi...Split view - idea? 1 90
Problem working with dynamic array - help 2 7
The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question