مشكلة تواجهني في الطباعة (فاستروبورت)
#1
السلام عليكم ورحمة الله تعالى وبركاته
اعمل على نسخة الدلفي 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]
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم