ابوخليل قام بنشر منذ 8 ساعات قام بنشر منذ 8 ساعات السلام عليكم في المرفق : جدول أسماء وأمام كل اسم مربعات اختيار تمثل ايام الأسبوع chekVuc1= يوم الأحد chekVuc2= يوم الاثنين .. وهكذا حتى chekVuc7= يوم السبت عندما نأشر عليها فنحن نحدد العطلة الاسبوعية لهذا الاسم .. فاحتمال تكون عطلته يوم الاحد فقط وممكن تكون الاربعاء والخميس أو الجمعة والسبت أو اكثر من يومين ................... نريد دالة في الاستعلام المرفق و في حقل day_id الذي يمثل رقم اليوم في الاسبوع بناء على اختيار الاسم من النموذج يتم اخفاء يوم أو ايام العطلة في الاستعلام Database1.rar
تمت الإجابة Moosak قام بنشر منذ 5 ساعات تمت الإجابة قام بنشر منذ 5 ساعات وعليكم السلام 🙂 تفضل أستاذنا العود Database1_Moosa.accdb 1 1
ابو جودي قام بنشر منذ 5 ساعات قام بنشر منذ 5 ساعات SELECT tblNames.UserId, tblNames.s_name, tblDays.day_id, tblDays.dayNm FROM tblDays, tblNames WHERE tblNames.UserId = [Forms]![Form1]![Combo0] AND ( (tblDays.day_id = 1 AND NOT tblNames.chekVuc1) OR (tblDays.day_id = 2 AND NOT tblNames.chekVuc2) OR (tblDays.day_id = 3 AND NOT tblNames.chekVuc3) OR (tblDays.day_id = 4 AND NOT tblNames.chekVuc4) OR (tblDays.day_id = 5 AND NOT tblNames.chekVuc5) OR (tblDays.day_id = 6 AND NOT tblNames.chekVuc6) OR (tblDays.day_id = 7 AND NOT tblNames.chekVuc7) ); اعتذر عندى مشكلة بالانترنت لا استطيع رفع مرفقات استاذى الجليل ومعلمى القدير و والدى الحبيب لا اعرف هل الافكار فى هذا الموضوع مشابهه ام تساعد فى تحقيق اى من اهدافكم الحالية او المستقبلية ام لا ولكن احسست بوجه شبه من بعيد او من قريب بينهم 1 1
ابوخليل قام بنشر منذ 3 ساعات الكاتب قام بنشر منذ 3 ساعات الف شكر لكم احبتي الحلول كلها تعطي نتيجة صحيحة ،، وحل الأخ موسى الطف وأخف منذ ساعه, ابو جودي said: لا اعرف هل الافكار فى هذا الموضوع مشابهه ام تساعد فى تحقيق اى من اهدافكم الحالية او المستقبلية ام لا ولكن احسست بوجه شبه من بعيد او من قريب بينهم نعم اطلعت عليه الآن يوجد وجه شبه .. ولكن الحلول هنا افضل في التعامل مع النتيجة اكرر شكري وامتناني ،، 1 1
ابو جودي قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات السلام عليكم 1 ساعه مضت, ابوخليل said: وحل الأخ موسى الطف وأخف طبعا وبادئ ذى بدئ اخى موسي فوق راسي وردى التالى ليس تقليلا او شئ من هذا القبيل اطلاقا ولكن فقط هذه وجهة نظرى قد اكون محطئ فيها وقد أصيب احل اخى موسي يبدو الطف فى الشكل الظاهرى ولكن ليس بالضرورة أخف تعتمد طريقة اخى موسى على انشاء سلسلة نصية و معالجة النص باستخدام (InStr وIIf) مما قد يكون بطئ نسبيا مع مرور الوقت وبالأخص مع وجود بيانات كبيرة بينما تعتمد طريقتى المتواضعة على استخدام شروط منطقية صريحة (AND - OR - NOT) والتى بدورها سوف تكون اسرع مع محرك الاستعلام لان التحقق يتم على القيم مباشرة دون تكوين سلاسل أو بحث نصي قاعدة ذهبيه مع الاستعلامات : دائما الأولوية للمنطق المباشر أفضل من الاعتماد على الحيل النصية
Moosak قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات 18 دقائق مضت, ابو جودي said: تعتمد طريقة اخى موسى على انشاء سلسلة نصية و معالجة النص باستخدام (InStr وIIf) مما قد يكون بطئ نسبيا مع مرور الوقت وبالأخص مع وجود بيانات كبيرة حبيبنا @ابو جودي اقرأ تعليق الأستاذ جعفر هنا 🙂 : في 12/7/2025 at 11:31, jjafferr said: ملاحظة هامة: اذا كان حجم الشاشة يعرض 30 سجل (مثلا) ، واذا كان عندنا استعلام به 100 او 10000 سجل (اي رقم اكبر من حجم العرض 30) ، وبغض النظر عن المحتويات والقيم والاوامر والمعادلات في الاستعلام ، فالاكسس يقوم بحساب السجلات المعروضة على الشاشة فقط ، وفي حالتنا فالاكسس يحسب نتائج 30 سجل فقط ، وعليه ، اذا كان هذا الاستعلام هو مصدر بيانات لنموذج او تقرير ، فلن يكون هناك تأخير وبطئ في العرض (طبعا سيكون هناك بطئ بسيط ، ولكن ليس كما هو الاعتقاد السائد بأن البطئ سيلاحظه المستخدم) ، فالمصطلح المتداول في البطئ ، هو اذا اردت جلب بيانات الاستعلام كاملا دفعة واحدة ، مثل اذا اردت ان تبحث عن قيمة معينة فيه ، او تصدير جميع البيانات دفعة واحدة الى ملف اكسل او pdf ، بينما لا يوجد بطئ عند الطباعة لان الطباعة تتطلب بيانات صفحة واحدة فقط وهي الصفحة التي يتم طباعتها حاليا (بمعنى آخر ، حتى لو اردت طباعة 1000 صفحة ، فانت تطبعها صفحة صفحة) . مع ملاحظة تفادي استعمال فرز/تصفية للحقول التي بها معادلات والحقول التي تستعمل الامر Dlookup والحقول التي تنادي دوال خارجية ، لأنه هنا الاستعلام يجب ان يقوم بحساب قيم جميع السجلات ، ثم يقوم بعملية الفرز/التصفية. لهذا السبب ، فمناداة دالة خارجية (فيها معادلات فقط) لا تعمل بطئ عند استعمالها ، حسب ملاحظاتي اعلاه 🙂 وحسب ما يظهر أن الاستعلام هنا لا يتعدى السبع سجلات ، وهي بعدد أيام الأسبوع. 1
ابو جودي قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات الاكسس يقوم بحساب السجلات المعروضة على الشاشة فقط عندما يكون ذلك داخل نموذج وليس داخل استعلام هذا حسب فهمى المتواضع قد اكون مخطئ. 5 دقائق مضت, Moosak said: وحسب ما يظهر أن الاستعلام هنا لا يتعدى السبع سجلات ، وهي بعدد أيام الأسبوع ربما هذا الظاهر فقط الان ولكن انا دائما مع الاستعلامات اعمل وفق هذه القاعدة الذهبية دائما الأولوية للمنطق المباشر أفضل من الاعتماد على الحيل النصية عند فتح استعلام مباشرة (Query View أو من الكود) Access يقوم بتحميل كل السجلات دفعة واحدة وليس فقط الظاهرة على الشاشة يعني: سواء كان عندك 100 أو 1000,000 سجل وسواء كان حجم الشاشة يعرض 30 فقط او حتى 10 بمجرد فتح الاستعلام مباشرة (من نافذة Access أو من الكود) يقوم Access بتنفيذ الاستعلام بالكامل من البداية إلى النهاية ويحسب ويقوم بمعالجة البيانات فى كل الأعمدة بما فيها الدوال مثل DLookup أو أي دوال خارجية ثم يظهر أول 30 سجل فقط او اول 10 سجلات حسب حجم الشاشة لكن المعالجة تمت لكل السجلات بالفعل
ابو جودي قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه وتوضيحا فقط وحسب فهمى لقول استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ جعفر - الاكسس يعالج فقط السجلات المعروضة على الشاشة (مثلا 30)؟ صحيح فقط في حالة النماذج (Forms) وغير صحيح في حالة فتح الاستعلام مباشرة أو في التقارير أو التصدير الاكسس ينفذ الاستعلام بالكامل ويحسب النتائج لكل السجلات - إذا كان الاستعلام مصدرا لنموذج فلن يكون هناك بطء ملحوظ؟ صحيح إذا لم تستخدم دوال خارجية في حقول يتم عليها فرز/تصفية لو كان هناك: فرز أو تصفية على حقل فيه دالة DLookup أو دالة VBA خارجية أو تحميل بيانات من جدول كبير بدون فهرسة مناسبة - الطباعة لا تسبب بطء لأنها تطبع صفحة صفحة؟ غير دقيق: الاكسس يقوم بتجهيز التقرير بالكامل قبل عرض أول صفحة أي دوال خارجية أو معادلات تحسب على كل السجلات قبل العرض والطباعة - لا يوجد بطء عند استخدام دوال خارجية إذا لم تكن هناك عمليات فرز أو تصفية؟ صحيح تماما في حالة: استخدام الاستعلام كمصدر نموذج أو عرض النتائج فقط دون فرز/تصفية على الحقول التي تنادي دوال خارجية لكن عند فتح الاستعلام مباشرة أو فرز/تصفية الحقول المحسوبة الاكسس يجبر على حساب القيم لكل السجلات ردودى السابقة لتحليل فهمى لمشاركة الاستاذ جعفر حسب فهمى ومعلوماتى الشخصية وان كان فهمى خاطى أنتظر التصحيح من اساتذتى العظماء
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.