اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

وظيفة لا تعمل فى مربع نص إلا عند وجود الحقل فى التقرير و ليس فى الاستعلام


إذهب إلى أفضل إجابة Solved by رمهان,

الردود الموصى بها

السلام عليكم

تتبعوا معى الآتى

لدى استعلام يجلب أرقام الفصول من 1 إلى 14 مثلا

رقم الفصل هذا يشير إلى اسم الفصل

مثلا فصل رقم 1 يشير إلى 1/1

فصل رقم 3 يشير إلى 13/1

عملنا تقريرا مبنيا على هذا الاستعلام

أريد بدلا من جلب رقم الفصل أن نجلب اسم الفصل

لأنه جدول حصص مدرسى

عملت وظيفة تجلب اسم الفصل

من سطر واحد

Public Function rf(fn As Control)
rf = DLookup("[rs]", "for_combo", "[fasl_no]=" & Nz(fn, 0))
End Function
تعمل بكفاءة

المشكلة أنها تحتاج أن يكون نفس الحقل الذى به رقم الفصل موجودا بالتقرير

و لدينا خمسة أيام فى الأسبوع فى 8 حصص يوميا

يعنى 40 جقلا

أضف إليها أربعين أخرى لاسم الفصل

 

هل هناك طريقة لتنفيذ الوظيفة بدون جلب الحقل للتقرير

و الاكتفاء بوجوده فى الاستعلام

Capture.JPG.0b69b0d2ca87eb5c6a90fe1518ce84cb.JPGCapture.JPG.0b69b0d2ca87eb5c6a90fe1518ce84cb.JPGtest17.rartest17-200

 

test17.rar

test17-2003.rar

رابط هذا التعليق
شارك

هناك حل لكن....

يجب ان يكون قيمة افتراضية بيكون صفر

اي لا يكون هناك حقول في جدول شيت 1 بدون رقم

وغير كنترول في فانكشن الى سترينك

رديت لاني كان ارسد اول شخص ان ارد على هذا الموضوع :rol:

والان راح انام وبعدين باذن الله راح القي نظرتا لخرى الى الموضوع

تقبل تحياتي استاذي الحبيب

  • Like 2
رابط هذا التعليق
شارك

استاذنا @عبد الفتاح كيرة 

هل ما وضحت ما قلت في مشاركتي السابقة

اتفضل اليك هذا اذا ما كان اخطأت بما تريد

تم تعديل 

 

test17.rar

تم تعديل بواسطه Shivan Rekany
  • Like 3
رابط هذا التعليق
شارك

10 ساعات مضت, Shivan Rekany said:

يجب ان يكون قيمة افتراضية بيكون صفر

اي لا يكون هناك حقول في جدول شيت 1 بدون رقم

وغير كنترول في فانكشن الى سترينك

إذن المشكلة ليست هى عدم وجود الحقل فى التقرير

المشكلة هى وجود فراغات

فنستخدم nz  فى الاستعلام

لكن لا داع لاستخدام nz فى الوظيفة لأننا استخدمناها فى الاستعلام

فتكون

rf = DLookup("[rs]", "for_combo", "[fasl_no]=" & fn)
====

أرجو أن تصححوا هذه العبارة إن كانت خطأ

"" يمكن استخدام قيمة حقل فى استعلام من داخل مربع نص غير منضم فى تقرير مبنى على هذا الاستعلام ""

يعنى لا يشترط وجود الحقل نفسه فى التقرير

بل يكفى وجوده فى الاستعلام

جزاك الله خيرا أخانا شيفان و بارك فيك

 

تم تعديل بواسطه عبد الفتاح كيرة
رابط هذا التعليق
شارك

13 دقائق مضت, عبد الفتاح كيرة said:

لكن لا داع لاستخدام nz فى الوظيفة لأننا استخدمناها فى الاستعلام

قبل ان اضيف في الاستعلام 

هو كان احدى محاولاتي ولكن فشلت فيه

بعدين اضفت ن ز في الاستعلام ونسيت ان احذه في فانكشن
لكن اخبرني
هل ما وصلت لطبك استاذي؟

Capture.PNG.5aeb0e61511962c00212abcd232cc737.PNG

تم الوصول الى النتيجة والحمد لله

تم تعديل بواسطه Shivan Rekany
  • Like 2
رابط هذا التعليق
شارك

2 ساعات مضت, Shivan Rekany said:

هل ما وصلت لطبك استاذي؟

نعم تمام جزيل الشكر لك و للجميع

لكن التقرير يفتح ببطء لأن الدالة تعمل فى حوالى 40 حقلا

يمكن الاستغناء عن nz تماما إذا جعلنا قيمة الحقل الافتراضية = 0

لكن وجودها أفضل للاحتياط

جزاك الله خيرا

 

بفضل الله ثم بفضل استشاراتكم

Capturetab.JPG.82eab4d43a3781861e510d9df12322da.JPG

  • Like 1
رابط هذا التعليق
شارك

52 دقائق مضت, عبد الفتاح كيرة said:

يمكن الاستغناء عن nz تماما إذا جعلنا قيمة الحقل الافتراضية = 0

نعم 

13 ساعات مضت, Shivan Rekany said:

جب ان يكون قيمة افتراضية بيكون صفر

اي لا يكون هناك حقول في جدول شيت 1 بدون رقم

 

34 دقائق مضت, عبد الفتاح كيرة said:

أظنه يكون أسرع لو استخدمنا الدالة فى الاستعلام بدلا من استخدامها فى التقرير هكذا


ssun1: rf(nz([sun1];0))

ما رأيك شيفان؟

احتمال لكن سيكون اسرع اذا القيمة الافتراضية يساوي صفر

والله يعلم

رابط هذا التعليق
شارك

  • أفضل إجابة

السلام عليكم

يوجد مشاركات تم حذفها ولا اعلم السبب قد يكون اعتبار انها زائدة وهنا لي وجهة نظر

عندما استفسر ولو بمزحة او مداعبة فانه يهمني رد السائل 

هنا كان يوجد مشاركة للاخ عبدالفتاح وبرد على احد استفساراتي ولم اجده الان وانا بحاجة اليه لاشارك بفكرة اخرى

وعلى العموم اخ عبدالفتاح هناك فكرة اخرى ! مارايك ؟ وهي عبارة عن تحويل مربع النص بالتقارير الى مربع سرد مصدره الاستعلام for_combo  وبضبط خاصيتي عدد الاعمدة وعرض الاعمدة . هنا سييظهر العمود المقابل للرقم وهو عبارة عن وصف الفصل وليس هناك حاجة لكود او دالة

 

تقبلو تحياتي

  • Like 1
رابط هذا التعليق
شارك

مش عارف أنتم شاغلين نفسكم بالمزحة وحذف مشاركات بسببها

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

وطبعا أنتم تعرفون أن هذه المساعدات قد تفيد فى تسيير و تسهيل مصالح كاملة جعله الله فى موازين حسناتكم

نعود للموضوع

كود الأخ شيفان حل الموضوع

لكن لأن عدد الحقول التى يتعامل معها كبير فقد لاحظت بطئ فى عمله

لذا فكرت فى الحل التالى

إنشاء جدول يخزن فيه نتائج هذا الكود باسم الفصل طبعا كما نريده

هذا الجدول يكون مصدرا لبيانات التقرير

و يتم مسح و تحديثه كلما غيرنا فى حصص الجدول

وبذلك يختفى البطء عند فتح التقرير لأن مصدر سجلاته جاهز

هذه فكرة

وبعد ذلك فاجأنى الأستاذ رمهان بإبداع من إبداعاته

وطبعا الأسهم التى تكون بمربعات السرد لا تظهر فى الطباعة

أشكر الأستاذ رمهان على الفكرة والجدول المطلوب طباعته فى جدول sheet1

سأجرب ذلك و أخبركم بالنتائج وجزاكم الله خيرا

وكل عام و أنتم بخير

 

رابط هذا التعليق
شارك

وفقكم الله جميعا إخوتى الكرام

و أبشركم فقد تم حل الموضوع للمرة الثالثة ( حل الأستاذ شيفان - و حل ابتكرته من عندى)

لكن نظرا لكثرة عدد الحقول ( أكثر من 40) فقد كان الكود يعمل ببطء لا أرضاه فى برامجى التى أعمل عليها

و الثالث بمقترح الأستاذ رمهان الذى وفر كل هذه الأكواد و الجداول

و هو بتحويل مربعات النصوص إلى كمبوبوكس

و جعل مصدر الصف استعلام for_combo

و الحمد لله

حل بسيط جدا و لكن وفر علينا سطورا من الأكواد ثقيلة

شكرا أستاذ رمهان

وشكرا أستاذ شيفان

و شكرا أبا خليل

و ليت هذا الموضوع يأخذ عنوانا جديدا كى يستفيد منه الجميع

و كل عام و أنتم بخير

الصورة من عرض الطباعة

Capture3.JPG.f0b37ac43d02104d95ae217983e3a99a.JPG

لكنى أنبه أن الخبرة تؤخذ من الحلول كلها

سواء  الأولى منها أو غيرها

فقد تصادف موضوعات لا تحل إلى بتلك الحلول التى جعلناها فى مرتبة تالية فى موضوع سابق

و كلها خبرات

والحمد لله

تم تعديل بواسطه عبد الفتاح كيرة
  • Like 2
رابط هذا التعليق
شارك

والحمد لله لاننا عندنا ثلاث من الحلول 
لكن لا انا ولا اصدقائي في المنتدى ما نريد الصور بل نريد القاعدة لكل طرق على وحده لكي نخزنه في مكتبنا :smile:
لذا هل من الممكن ان ترفع لنا ثلاث قواعد لكل طرق على وحده 
واخذف علامة صح امام مشاركتي واعمل علامة صح على المشاركة اللي بها حلول ثلاثة

تقبل تحياتي

  • Like 2
رابط هذا التعليق
شارك

:fff:لا عذر بين الاخوان ابا خليل والله يعافيك:fff:

:fff:شكرا اخواني عبدالفتاح وشيفان على مشاركاتكم المميزة:fff:

:fff:كل عام وانتم بخير وتقبل الله منا ومنكم الصيام والقيام :fff:

  • Like 1
رابط هذا التعليق
شارك

7 ساعات مضت, Shivan Rekany said:

والحمد لله لاننا عندنا ثلاث من الحلول 
لكن لا انا ولا اصدقائي في المنتدى ما نريد الصور بل نريد القاعدة لكل طرق على وحده لكي نخزنه في مكتبنا :smile:
لذا هل من الممكن ان ترفع لنا ثلاث قواعد لكل طرق على وحده 
واخذف علامة صح امام مشاركتي واعمل علامة صح على المشاركة اللي بها حلول ثلاثة

تقبل تحياتي

ده شغل كبير جدا

ربنا ييسر الأمر

طريقتك بها قاعدة مرفقة

و طريقة الأستاذ رمهان ما تحتاج قاعدة

و الطريقة الثالثة سأحاول رفعها إن شاء الله

جزاكم الله خيرا

رابط هذا التعليق
شارك

منذ ساعه, عبد الفتاح كيرة said:

و طريقة الأستاذ رمهان ما تحتاج قاعدة

تعرف اانا لا اعرف شيء .... لذا هل من الممكن ان تعمل قاعدة بطريقة استاذ رمهان ايضا

رابط هذا التعليق
شارك

ليس من السهل استرجاع خطوات سابقة و طرق الحل فيها

لكن لأجل الأستاذ شيفان نحاول

الحل بطريقة الجدول الوسيط

تقرير taqall

الحل بطريقة الأستاذ شيفان

تقرير  rpt_all2

فى الملف التالى

newTab10.rar

 

الحل النهائى بطريقة الأخ رمهان فى الملف التالى

 

تقرير rpt_alls

وفقكم الله

newTab11.rar

تم تعديل بواسطه عبد الفتاح كيرة
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information