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

+- delphi4arab منتديات دلفي للعرب (http://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (http://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (http://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]