المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كيف يمكن إخفاء سجل معين على ورقة الطباعة


medreg
17-04-2010, 10:20 AM
السلام عليكم ورحمة الله تعالى وبركاته
اخواني صباحكم مبروك
لدي سجلات مختلفة القيم وطباعة محتواها على الورقة ايضًا مختلف واقصد بذالك
ان كل ورقة طباعة تختلف على الأخرى :
كيف يمكنني إخفاء سجل معين على ورقة الطباعة
اعلم بان العملية تتم بواسطة شرط
لكن كيف يكون هذا الشرط
يعني اذا كان السجل له حقل فارغ أو يحتوي على قيمة صفر
وليكن مثلا الحقل المقصود هو AF_01
إذا كان الحقل AF_01 مملوء يجب ان يظهر على ورقة الطباعة وإذا كان فارغ او يحتوي على قيمة صفر يجب ان لايظهر على ورقة الطباعة
علما بأنني اتعامل مع قاعدة البيانات Paradox وبعض الأحيان Absolute
جزاكم الله عنا كل خير

B.M.AbdelAziZ
17-04-2010, 10:31 AM
وعليكم السلام ورحمة الله
استخدم الفلترة Filter شيئ مثل
Table1.Filter:= 'AF_01<>NULL';
Table1.Filtered:= True;

وبالتوفيق

medreg
17-04-2010, 11:09 AM
صباح الخير اخي واستاذي
سأفعل إن شاء الله وسأرد عليك
وبعد ان ارد
لقد حملت من المنتدى مرفق المتعلق بمشكل ربط الأب مع الإبن الوارد ي المشاركة لأحد الأعضاء
لكن عندما حاولت فتح المرفق اعطاني هذا الخطأ
"Non declaré "MainFormOnTaskbar
ولم افهم هذه العبارة هل هناك مكون توجد به هذه ام ماذا

medreg
17-04-2010, 11:38 AM
لقد وضعت هذا الكود في الحدث Bandetail1BeforPrint
Table1.Filter:='MT_01,MT_02,MT_03<>NULL'; Table1.Filtered:=true;

لكن يعطيني خطأ
Expression Filter Terminée incorrectement

kachwahed
17-04-2010, 11:56 AM
لكن عندما حاولت فتح المرفق اعطاني هذا الخطأ
"Non declaré "MainFormOnTaskbar
بخصوص MainFormOnTaskbar راجع هنا:
http://www.delphi4arab.com/forum/showpost.php?p=12589&postcount=11
لكن يعطيني خطأ
Expression Filter Terminée incorrectement
استخدم الشروط المنطقية OR أو AND للربط:
Table1.Filter:='(MT_01 <> NULL) AND (MT_02 <> NULL) AND (MT_03<>NULL)';
بالتوفيق.

medreg
17-04-2010, 12:18 PM
استخدم الشروط المنطقية OR أو AND للربط

لقد قمت بما افدتني به واستعملت AND لكن المشكل عندما اضع هذا الشرط في
DetailBand1BeforePrint
بهذه الصفة
Table1.Filter:='(MT_01<>NULL)AND(MT_02<>NULL)AND(MT_03<>NULL)';
Table1.Filtered:=true;


في هذه الحالة يخرج لي سجل واحد مكرر عدة مرات في ورقة الطباعة
مع العلم أنني عوضت AND بـ OR ونفس المشكل
اشك ان الأمر يتعلق بمكان وضع الشرط والله أعلم
ما رأيك في هذا المشكل

B.M.AbdelAziZ
17-04-2010, 02:28 PM
بدلا من الحدث BeforePrint قم بالفلترة قبل استدعاء التقرير

medreg
17-04-2010, 08:54 PM
بدلا من الحدث beforeprint قم بالفلترة قبل استدعاء التقرير


جزاكم الله عنا كل خير
لقد تمت العملية بنجاح بالنسبة لإخفاء السجل الغير مرغوب في إظهاره على ورقة الطباعة
لكن المشكل الآن هو عند الخروج من الطباعة والعودة الى الفورم الأو
لا أجد بها كل السجلات بل اجد فقط السجلات التي ظهرت على ورقة الطباعة
فكيف لي ان اظهر السجلات تلقائيا مباشرة بعد العودة من الفورم الموجود عليها ورقة الطباعة
انظر المرفق

B.M.AbdelAziZ
17-04-2010, 09:34 PM
فكر قليلا، هناك اشياء بديهية
الفلترة تستعمل قبل الطباعة
بعد استدعاء التقرير تحذف

Table1.Filter:='(MT_01<>NULL)AND(MT_02<>NULL)AND(MT_03<>NULL)';
Table1.Filtered:=true;
Form2.QuickRep1.PreView;
Table1.Filtered :=False;

medreg
17-04-2010, 10:02 PM
فعلا كان ينقصني شيء من التفكير فقط
جزاكم الله عنا كل خير