전 신장률이라는 것을 계산하기 위해서 그전에 얻어야 할 값을 구했습니다.
그런데.. 신장률은 위의 쿼리의 결과값을 가지고 계산을 해야 하는데.. 잘 않됩니다.
계산하기 위해선.. Type도 맞춰야 하는 것 같은데 .. 잘 않됩니다. 제 쿼리문은 다음과 같습니다.
procedure TFrmjiwonmoney.N1Click(Sender: TObject);
var Gijunqty,dangwolqty :string; //월누계,일평균
Gijun,Dangwol : String;
sinjang : String;
begin
Gijunqty:=' select sum(qty/:Pansu*:gajung) GijunQty from jumoongejepum'+
' where vdate>=:stdate and vdate<=:enddate'+
' and jepum in (:jepumcode)'; //제품코드를 받을 Parameter
//월누계 -> 월누계/판매일수=일평균 => 일평균*가중치=기준수량
DangwolQty:=' select sum(qty) dangwolqty from jumoongejepum'+
' where vdate>=:stdate1 and vdate<=:enddate1'+
' and jepum in (:jepumcode)';
//당월 수량을 합산. => 신장률=당월수량/기준수량 X 100
with query1 do
begin
Close;
SQL.Clear;
SQL.Add('gijunqty');
ParamByName('Pansu').AsString:=EditPansu.Text; //판매일수
ParamByName('stdate').AsString:=MaskEditstDate.Text; //시작일자
ParamByName('enddate').AsString:=MaskEditendDate.Text;//종료일자
ParamByName('gajung').AsString:=Editgajung.Text; //가중치
ParamByName('jepumcode').AsString:=Editjepumcode.Text; //제품코드
Open;
Gijun:=FieldByName('GijunQty').AsString;// 기준수량 변수
end;//기준수량 쿼리끝
with query1 do
begin
Close;
SQL.Clear;
SQL.Add(DangwolQty); //당월수량 합산
ParamByName('stdate1').AsString:=MaskEditstDate1.Text;
ParamByName('enddate1').AsString:=MaskEditstDate1.Text;
ParamByName('jepumcode').AsString:=MaskEditendDate1.Text;
open;
Dangwol:=FieldByName('dangwolqty').AsString; //당월수량 변수
end;
begin /신장률 = 당월실적(Dangwol)/기준수량(Gijun) x 100
Sinjang := Dangwol/Gijun * 100 ; => 이 표현이 맞는지도 궁금합니다.
부탁드립니다. 제 쿼리문 좀 봐주세요..
> sinjang : String;
==> sinjang : double;
> Sinjang := Dangwol/Gijun * 100 ; => 이 표현이 맞는지도 궁금합니다.
==>
sinjang := strtoint(dangwol) / strtoint(Gijun) * 100
글구 sinjang 을 edit 에 뿌리시려면
edit1.text := floattostr(sinjang);