delphi4arab منتديات دلفي للعرب
مشكلة تواجهني في الطباعة (فاستروبورت) - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : مشكلة تواجهني في الطباعة (فاستروبورت) (/showthread.php?tid=10307)



مشكلة تواجهني في الطباعة (فاستروبورت) - medreg - 12-07-2019

السلام عليكم ورحمة الله تعالى وبركاته
اعمل على نسخة الدلفي 10.3.1 ريو وقاعدة البيانات ابسوليت داتا بيز
في ورقة الطباع تظهرؤ السجلات متكررة ول اعرف ما السبب رغم ان السجلات تحتو على اربع سجلات لكل حقل واعني الحقل cph
حسب الشرط
هذه هي الصورة المتعلقة بالمعاينة
[attachment=4022]
وهذا هو الكود المستعمل على المحررfrxreport1 في الحدث onbeforprint
كود :
procedure TForm2.frxReport1BeforePrint(Sender: TfrxReportComponent); var TCph01,TCph02,TCph03,TCph04,RtMta,RtMtb,MtsA,TxtMA,TxtNA,MtsB,TxtMB,TxtNB,     MtsC,TxtMC,TxtNC,MtsD,TxtMD,TxtND:TfrxMemoView; begin   TxtMA:= TfrxMemoView(frxReport1.FindObject('MemoA'));   TxtNA:= TfrxMemoView(frxReport1.FindObject('MemoB'));   MtsA:= TfrxMemoView(frxReport1.FindObject('MemoC'));   TCph01:= TfrxMemoView(frxReport1.FindObject('MChp01'));   TxtMB:= TfrxMemoView(frxReport1.FindObject('MemoD'));   TxtNB:= TfrxMemoView(frxReport1.FindObject('MemoE'));   MtsB:= TfrxMemoView(frxReport1.FindObject('MemoF'));   TCph02:= TfrxMemoView(frxReport1.FindObject('MChp02'));   TxtMC:= TfrxMemoView(frxReport1.FindObject('MemoG'));   TxtNC:= TfrxMemoView(frxReport1.FindObject('MemoH'));   MtsC:= TfrxMemoView(frxReport1.FindObject('MemoJ'));   TCph03:= TfrxMemoView(frxReport1.FindObject('MChp03'));   TxtMD:= TfrxMemoView(frxReport1.FindObject('MemoK'));   TxtND:= TfrxMemoView(frxReport1.FindObject('MemoL'));   MtsD:= TfrxMemoView(frxReport1.FindObject('MemoM'));   TCph04:= TfrxMemoView(frxReport1.FindObject('MChp04'));   if DM.TB2.Fieldvalues['MT']<>0 then   begin     if (DM.TB2.FieldValues['Cph']='10')And(DM.TB2.FieldValues['Tpe']='D')then     begin     TCph01.Memo.Text:= DM.TB2.Fieldvalues['Cph'];     TxtMA.Memo.Text:= DM.TB2.Fieldvalues['CdeA'];     TxtNA.Memo.Text:= DM.TB2.Fieldvalues['Nom'];     MtsA.Memo.Text:= FormatFloat('#,##0.00',DM.TB2.Fieldvalues['MT']);     end;     if (DM.TB2.FieldValues['Cph']='11')And(DM.TB2.FieldValues['Tpe']='D')then     begin     TCph02.Memo.Text:= DM.TB2.Fieldvalues['Cph'];     TxtMB.Memo.Text:= DM.TB2.Fieldvalues['CdeA'];     TxtNB.Memo.Text:= DM.TB2.Fieldvalues['Nom'];     MtsB.Memo.Text:= FormatFloat('#,##0.00',DM.TB2.Fieldvalues['MT']);     end;     if (DM.TB2.FieldValues['Cph']='12')And(DM.TB2.FieldValues['Tpe']='D')then     begin     TCph03.Memo.Text:= DM.TB2.Fieldvalues['Cph'];     TxtMC.Memo.Text:= DM.TB2.Fieldvalues['CdeA'];     TxtNC.Memo.Text:= DM.TB2.Fieldvalues['Nom'];     MtsC.Memo.Text:= FormatFloat('#,##0.00',DM.TB2.Fieldvalues['MT']);     end;     if (DM.TB2.FieldValues['Cph']='13')And(DM.TB2.FieldValues['Tpe']='D')then     begin     TCph04.Memo.Text:= DM.TB2.Fieldvalues['Cph'];     TxtMD.Memo.Text:= DM.TB2.Fieldvalues['CdeA'];     TxtND.Memo.Text:= DM.TB2.Fieldvalues['Nom'];     MtsD.Memo.Text:= FormatFloat('#,##0.00',DM.TB2.Fieldvalues['MT']);     end;   end; end;

وللتوضيح
من المفروض ان تكون المعاينة حسب هذه الصورة
[attachment=4023]