ما هو الكود المناسب لأخفاء سجل معين ؟
[تمت الإجابة]هل يوجد كود لأخفاء سجل معين
حسب ما هو معروف الاكسس لا يخفي السجلات...فهي ليست كالصفوف في اكسل
بل هي عبارة عن سجلات يتم عرضها كلها او عرض جزء منها بشرط معين
والشرط هنا يظهر او يخفي السجلات حسب الطلب..
هناك طرق كثيرة
منها اختيار شرط من قائمة، او تحديد تاريخ معين..والفيصل هنا هو احد الحقول..
طريقة اخرى
وضع حقل في الجدول به نعم\لا
هذه الحقل يتم تحديده لعرض السجل، او الغاء التحديد لاخفاء السجل..بلغة الكود تعني هذه الفكرة ان يكون هناك شرط عرض السجلات في النموذج او التقرير التي توافق شرط نعم\لا
ارجو ان تكون الفكرة واضحة
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
شكرا استاذ همام وجزاك الله خير
ما تفضل به استاذي همام صحيح ولكن نحتاج بعض البيانات منك ..
-السؤال هل قاعدة البيانات المطلوب عمل بها هذه الخصوصية مشتركة ؟ يعني يستخدمها أكثر من شخص في وقت واحد ؟؟

فكرة الأستاذ همام بوضع Check box أو Yes/No جربتها سابقاً بنفسى وأثمرت .. وهى مرتبطة بأن تضع فى الكود المرتبط بذلك الـCheck box فى حدث (بعد التحديث) لكى يتم إخفاء كل السجلات المخزن فيها قيمة (1) التى تعنى الإختيار .. أو Yes ..
جزاك الله خيراً أخ همام
سبحان الله وبحمده ... سبحان الله العظيم
جزاك الله خير أخي jafar089
وهذه طريقة ثانية
الطريقة تعتمد على استعلام مرتبط بجدول لفلترة السجلات..
لنشرح قليلا الطريقة
تم انشاء جدول اسمه MSysHid ويفضل ان يكون مخفي بين جداول النظام فالاسم مشابه.
وهذا الجدول به حقل واحداسمه HiddenCod به سجلان سجل بقيمة(0)= لا وسجل بقيمة( -1 ) =نعم
عند ربط هذا الجدول بجدولنا الرئيس فيتم من خلاله تصفية السجلات حسب السجلات المطابقة
قمنا بانشاء وحدة نمطية تحتوي على عدد (2) Function
الأول hidRecord ووظيفته عدم عرض السجلات المخفية وذلك بالغاء السجل الذي قيمته -1 الى الجدول MSysHid
CurrentDb.Execute ("DELETE MSysHid.HiddenCod FROM MSysHid WHERE (((MSysHid.HiddenCod)=-1));")
الثاني ViewRecord ووظيفته عرض السجلات المخفية وذلك بإضافة سجل قيمته -1 الى الجدول MSysHid
CurrentDb.Execute ("INSERT INTO MSysHid ( HiddenCod ) SELECT -1 AS Nfld;")
عند ادخال اسم المستخدم
If user <> "مدير" Then
hidRecord
Else
ViewRecord
End Ifعندما يكون المستخم هو المدير ينفذ ViewRecord
عندما يكون المستخم غير المدير ينفذ hidRecord
بعد تنفيذ أحد الإجرائين فإن اخفاء أو اظهار السجلات سوف تؤثر على جميع نماذج البرنامج وتقاريره وذلك بتعديل النماذج والتقارير بجعل مصدر السجلات من الاستعلام المسى TabQuery1 ويجب عدم استخدام الجدول المسمى Tabl مباشرة في مصدر النماذج أو التقارير وممكن اخفاء الجدول نهائيا.
وعند الحاجة الى الجدول الرئيس فقط ضع الاستعلام TabQuery1 واذا كانت لك جاجة بجدول آخر مرتبط فتسطيع التعامل مع هذا الاستلام وكأنه جدول.
عرض خيار اخفاء السجلات للمدير فقط عن طريق الكود التالي
If DLookup("[HiddenCod]", "MSysHid", "[HiddenCod]= -1") = -1 Then
Check1.Visible = True
Else
Check1.Visible = False
End Ifكما يمكن تطوير الفكرة لأكثر من ذلك.
تحياتي ..
تم تعديل هذه المشاركة بواسطة محمد أبو عدنان في 26 نوفمبر 2010 في 08:04

الأخ jafar089 والأخ محمد أبو عدنان الله يعطيكم الف عافيه ومشكورين ع التوضيح الأكثر من رائع
والله لا يحرمكم الأجر
وكل عام وانتم يخير
بارك الله فيكم جميعا على المساهمة واعذروني على التقصير في تطبيق الكود..لدي بعض العمل المهم في مشروع كبير على الاكسس اطوره وياخذ الكثير من الوقت
اشكركم جميعا
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ