كيف يمكن إخفاء سجل معين على ورقة الطباعة
#1
السلام عليكم ورحمة الله تعالى وبركاته
اخواني صباحكم مبروك
لدي سجلات مختلفة القيم وطباعة محتواها على الورقة ايضًا مختلف واقصد بذالك
ان كل ورقة طباعة تختلف على الأخرى :
كيف يمكنني إخفاء سجل معين على ورقة الطباعة
اعلم بان العملية تتم بواسطة شرط
لكن كيف يكون هذا الشرط
يعني اذا كان السجل له حقل فارغ أو يحتوي على قيمة صفر
وليكن مثلا الحقل المقصود هو AF_01
إذا كان الحقل AF_01 مملوء يجب ان يظهر على ورقة الطباعة وإذا كان فارغ او يحتوي على قيمة صفر يجب ان لايظهر على ورقة الطباعة
علما بأنني اتعامل مع قاعدة البيانات Paradox وبعض الأحيان Absolute
جزاكم الله عنا كل خير
الرد
#2

وعليكم السلام ورحمة الله
استخدم الفلترة Filter شيئ مثل
كود :
Table1.Filter:= 'AF_01<>NULL'; Table1.Filtered:= True;
وبالتوفيق
الرد
#3
صباح الخير اخي واستاذي
سأفعل إن شاء الله وسأرد عليك
وبعد ان ارد
لقد حملت من المنتدى مرفق المتعلق بمشكل ربط الأب مع الإبن الوارد ي المشاركة لأحد الأعضاء
لكن عندما حاولت فتح المرفق اعطاني هذا الخطأ
"Non declaré "MainFormOnTaskbar
ولم افهم هذه العبارة هل هناك مكون توجد به هذه ام ماذا
الرد
#4
لقد وضعت هذا الكود في الحدث Bandetail1BeforPrint
كود :
Table1.Filter:='MT_01,MT_02,MT_03<>NULL'; Table1.Filtered:=true;
لكن يعطيني خطأ
Expression Filter Terminée incorrectement
الرد
#5
إقتباس :لكن عندما حاولت فتح المرفق اعطاني هذا الخطأ
"Non declaré "MainFormOnTaskbar
بخصوص MainFormOnTaskbar راجع هنا:
http://www.delphi4arab.net/forum/showpos...stcount=11
إقتباس :لكن يعطيني خطأ
Expression Filter Terminée incorrectement
استخدم الشروط المنطقية OR أو AND للربط:
PHP كود :
Table1.Filter:='(MT_01 <> NULL) AND (MT_02 <> NULL) AND (MT_03<>NULL)'; 
بالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#6
kachwahed كتب :
استخدم الشروط المنطقية OR أو AND للربط

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

في هذه الحالة يخرج لي سجل واحد مكرر عدة مرات في ورقة الطباعة
مع العلم أنني عوضت AND بـ OR ونفس المشكل
اشك ان الأمر يتعلق بمكان وضع الشرط والله أعلم
ما رأيك في هذا المشكل
الرد
#7
بدلا من الحدث BeforePrint قم بالفلترة قبل استدعاء التقرير
الرد
#8
b.m.abdelaziz كتب :بدلا من الحدث beforeprint قم بالفلترة قبل استدعاء التقرير

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

فكر قليلا، هناك اشياء بديهية
الفلترة تستعمل قبل الطباعة
بعد استدعاء التقرير تحذف
كود :
Table1.Filter:='(MT_01<>NULL)AND(MT_02<>NULL)AND(MT_03<>NULL)'; Table1.Filtered:=true; Form2.QuickRep1.PreView; Table1.Filtered :=False;
الرد
#10
فعلا كان ينقصني شيء من التفكير فقط
جزاكم الله عنا كل خير
الرد


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


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