fire.angle
چهارشنبه 16 شهریور 1390, 19:30 عصر
جون هرکی دست دارید بگید مشکل این کد چیه
این کد رو دریک Query در Access تست کردم و هیچ مشکلی نداره و خروجی میگیرم
اما وقتی اونو توی یه AdoQuery میزارم که از خروجیش واسه گزارشم استفاده کنم خطا میده
Procedure SelBoth(Q_Report:TADOQuery;frxReport1:TfrxReport;P rojectName_Edt:TsEdit;PayTo_Edt:TsEdit);
var
memo1:Tfrxmemoview;
s:String;
begin
with Q_Report do
begin
Close; SQL.Clear;
SQL.Add('SELECT *');
SQL.Add('FROM (((((Pardakhti INNER JOIN Projects ON Pardakhti.CodeProject = Projects.CodeProject)');
SQL.Add(' INNER JOIN PaidTo ON Pardakhti.CodePaidTo = PaidTo.CodePaidTo)');
SQL.Add(' INNER JOIN PayFor ON Pardakhti.CodePayFor = PayFor.CodePayFor)');
SQL.Add(' INNER JOIN Chek ON Pardakhti.CodePrkh = Chek.CodePrkh)');
SQL.Add(' INNER JOIN Bank ON Chek.CodeBank = Bank.CodeBank)');
SQL.Add(' INNER JOIN Branch ON Bank.CodeBank = Branch.CodeBank');
SQL.Add('WHERE (((Pardakhti.Type)=0))');
SQL.Add('UNION');
SQL.Add('SELECT *');
SQL.Add('FROM (((((Pardakhti INNER JOIN Projects ON Pardakhti.CodeProject = Projects.CodeProject)');
SQL.Add(' INNER JOIN PaidTo ON Pardakhti.CodePaidTo = PaidTo.CodePaidTo)');
SQL.Add(' INNER JOIN PayFor ON Pardakhti.CodePayFor = PayFor.CodePayFor)');
SQL.Add(' INNER JOIN Chek ON Pardakhti.CodePrkh = Chek.CodePrkh)');
SQL.Add(' INNER JOIN Bank ON Chek.CodeBank = Bank.CodeBank)');
SQL.Add(' INNER JOIN Branch ON Bank.CodeBank = Branch.CodeBank');
SQL.Add('WHERE (((Pardakhti.Type)=1) AND ((Chek.CodeBank)=[Bank].[CodeBank]) AND ((Chek.CodeBranch)=[Branch].[CodeBranch]))');
SQL.Add('And ((Projects.NameProject)='+QuotedStr(ProjectName_Ed t.Text)+')');
SQL.Add('And ((PaidTo.NameFamilyPaidTo)='+QuotedStr(PayTo_Edt.T ext)+')');
SQL.Add('And (Pardakhti.Date Between :#FromDate# And :#ToDate#)');
SQL.Add('And (Pardakhti.Money Between :FromMOney And :ToMoney)');
s:=SQL.GetText;
Open;
frxReport1.LoadFromFile('print\ReportPardakhti_Prt .fr3');
memo1:=tfrxmemoview(frxreport1.findobject('memo18' ));
memo1.memo.text:=UfarsiDate.TFarDate.MiladyToShams istr(now);
frxReport1.ShowReport(true);
end;
end;
خطاش هم اینه که : Q_Report : Field PayFor.CodePayFor Not Found
حالا چرا فیلد CodePayFor رو پیدا نمیکنه نمیدونم
این کد در Query خود Access بدرستی کار میکنه
لطفا راهنمایی کنید
این کد رو دریک Query در Access تست کردم و هیچ مشکلی نداره و خروجی میگیرم
اما وقتی اونو توی یه AdoQuery میزارم که از خروجیش واسه گزارشم استفاده کنم خطا میده
Procedure SelBoth(Q_Report:TADOQuery;frxReport1:TfrxReport;P rojectName_Edt:TsEdit;PayTo_Edt:TsEdit);
var
memo1:Tfrxmemoview;
s:String;
begin
with Q_Report do
begin
Close; SQL.Clear;
SQL.Add('SELECT *');
SQL.Add('FROM (((((Pardakhti INNER JOIN Projects ON Pardakhti.CodeProject = Projects.CodeProject)');
SQL.Add(' INNER JOIN PaidTo ON Pardakhti.CodePaidTo = PaidTo.CodePaidTo)');
SQL.Add(' INNER JOIN PayFor ON Pardakhti.CodePayFor = PayFor.CodePayFor)');
SQL.Add(' INNER JOIN Chek ON Pardakhti.CodePrkh = Chek.CodePrkh)');
SQL.Add(' INNER JOIN Bank ON Chek.CodeBank = Bank.CodeBank)');
SQL.Add(' INNER JOIN Branch ON Bank.CodeBank = Branch.CodeBank');
SQL.Add('WHERE (((Pardakhti.Type)=0))');
SQL.Add('UNION');
SQL.Add('SELECT *');
SQL.Add('FROM (((((Pardakhti INNER JOIN Projects ON Pardakhti.CodeProject = Projects.CodeProject)');
SQL.Add(' INNER JOIN PaidTo ON Pardakhti.CodePaidTo = PaidTo.CodePaidTo)');
SQL.Add(' INNER JOIN PayFor ON Pardakhti.CodePayFor = PayFor.CodePayFor)');
SQL.Add(' INNER JOIN Chek ON Pardakhti.CodePrkh = Chek.CodePrkh)');
SQL.Add(' INNER JOIN Bank ON Chek.CodeBank = Bank.CodeBank)');
SQL.Add(' INNER JOIN Branch ON Bank.CodeBank = Branch.CodeBank');
SQL.Add('WHERE (((Pardakhti.Type)=1) AND ((Chek.CodeBank)=[Bank].[CodeBank]) AND ((Chek.CodeBranch)=[Branch].[CodeBranch]))');
SQL.Add('And ((Projects.NameProject)='+QuotedStr(ProjectName_Ed t.Text)+')');
SQL.Add('And ((PaidTo.NameFamilyPaidTo)='+QuotedStr(PayTo_Edt.T ext)+')');
SQL.Add('And (Pardakhti.Date Between :#FromDate# And :#ToDate#)');
SQL.Add('And (Pardakhti.Money Between :FromMOney And :ToMoney)');
s:=SQL.GetText;
Open;
frxReport1.LoadFromFile('print\ReportPardakhti_Prt .fr3');
memo1:=tfrxmemoview(frxreport1.findobject('memo18' ));
memo1.memo.text:=UfarsiDate.TFarDate.MiladyToShams istr(now);
frxReport1.ShowReport(true);
end;
end;
خطاش هم اینه که : Q_Report : Field PayFor.CodePayFor Not Found
حالا چرا فیلد CodePayFor رو پیدا نمیکنه نمیدونم
این کد در Query خود Access بدرستی کار میکنه
لطفا راهنمایی کنید