لدي تقارير بها مجموعة من مربعات النص جميعها بها الدالة DLOOKUP وعند فتح التقرير يكون بطيْ فما هو السبب
التقارير ودالة DLOOKUP
خي الفاضل ابو وليد
السلام عليكم ورحمة الله وبركاته
بالطبع ستكون التقارير بطيئه عند الاكثار من دالة DLookup لان هذه الدالة سوف تبحث عن القيم المساويه لها في الجداول ومن لا تخرج من دائرة البحث بل تبقى في مجال البحث لهذا اوجدنا حل لمثل هذه المشكلة وهو ايجاد دالة جديده هي ELookup حيث انها اسرع بكثير من الدالة السابقة وستجدها في هذه المشاركة
بعنوان
الدالة الغبية والدالة العبقرية
الدالة () DLookup والدالة () ELookup
قم بتطبيقها وتجربتها حسب الشرح على تقاريرك او في برنامج وانظر النتيجه هل هي افضل ام لا
اختكم
زهره
بارك الله فيك نعم قرأت موضوعك ولم أستطع تنفيذه علما أن دالة البحث هي
=DLookUp("[Countمنالحالة]";"[countinf]";"[الرقم]=nob And [الحالة]='3'")ياليت تعملي لي الكود الموجود في المشاركة السابقة بدالة ELookup
اخي الفاضل ابو وليد
هل جربت الدالة ولم تحصل على نتائج ام لم تعرف كيف تستخدم الداله
كل ما عليك هو نسخ الكود اخاص بالدالة الى وحدة نمطية جديده
ومن ثم استبدال كلمة DLookUp بكلمة ELookup ولا تغير في باقي الكود شيء مثل
=ELookup("[Countمنالحالة]";"[countinf]";"[الرقم]=nob And [الحالة]='3'")الامر الاخر تأكد من مرجع ADO 3.6 عليه علامة صح

طبعا لا استطيع تطبيق الدالة بمثال لعدم وجود كامل الحقول التي لديك في برنامجك ولان الكود الذي وضعته يحتوي على خاصية العد Count لحقل الحالة لذا حاول التطبيق وان شاء الله سوف تحل المشكله
اخي الفاضل ابو وليد
هل من الممكن وضع مثال مصغر لما لديك من حقول مع وضع بيانات عشوائية ليتم تطبيق الدالة ELOOKUP
اما يخصوص سؤالك عن دالة عامة لاغلاق النموذج او التقرير واستخدامها في اي مكان فقم بإنشاء وحدة نمطية جديده وضع بها هذا الكود
Public Function MyCLOSE() DoCmd.Close End Function
الان استدعي هذه الدالة من اي مكان وفي اي حدث من احداث النموذج او التقرير
MyCLOSE
تم تعديل هذه المشاركة بواسطة zahrah في 23 مايو 2006 في 05:10
بارك الله فيك
سوف احاول ان اعمل مثال صغير وارفقه هنا
للرفع
اخي الفاضل ابو وليد
يوجد لديك شيء غير مفهوم
الجدول tmam يوجد به
رقم القسم
القسم
الاسم ( ركز على الاسماء هنا )
الرقم ( ركز على الارقام هنا )
الجدول tmamback يوجد به
الكود CODE
الرقم ( انظر لهذه الارقام )
الاسم ( انظر لهذه الاسماء )
القسم
تاريخ الميلاد
الحالة
ملاحظات
الاستعلام countinf
مبني على الجدول tmamback
وحقوله هي
الحالة COUNT
الحالة
تاريخ الميلاد
الرقم
النموذج infcount
مبني على الجدول tmam
اليس من المفروض ان يكون النموذج مبني على الاستعلام countinf
لانني لم استطع ان افهم ما هي العلاقه بين هذه الجداول ةالاستعلام والنموذج
فعند تطبيق الدالة ELookup في النموذج ترفض الاستجابه مما يعني ان هناك خطأ ما اما في اختيار الجدول او الاستعلام ارجو التوضيح
وما هو الجدول او الاستعلام المطلوب تطبيق الدالة عليه
انطر لهذا التعديل المبني على الاستعلام
تم تعديل هذه المشاركة بواسطة zahrah في 27 مايو 2006 في 16:02
شكرا لك وبارك الله فيك
لابد أن يكون مصدر النموذج جدول tmam وذلك لاخذ الاسماء لمرة واحده (لو كان المصدر الاستعلام countinf وتكرر الاسم وتغيرت الحالة سوف يتتكرر الاسم )
النموذج مصدره tmam
ومربعات النص تبحث عن القيم من الاستعلام بناء على رقم الموظف ورقم الحالة
هذا الموضوع مغلق.

