اذهب الي المحتوي
أوفيسنا

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

قام بنشر

من اسهل الطرق لتجنب مضاعفة الناتج اذا كان الاستعلام لثلاث جداول فاكثر

اننا نجزء الاستعلام

للجدول الرئيسي والتابع1 استعلام واستخدام sum للناتج

الجدول الرئيسي والتابع2 استعلام واستخدام sum للناتج

استعلام نهائي للاستعلامين السابقين

ولاداعي لاستخدام دالة IIf ودالة isnull لكون nz تغني عنهما

انظر للصورة المرفقة

 

استعلاااام.PNG

  • Like 2
قام بنشر

وعليكم السلام 🙂 

 

اتفق مع اخوي خالد 100% ، والميزة هي انك تقدر تحسب النتائج بسهولة بهذه الطريقة 🙂 

 

بس هل لاحظت ان علاقاتك خطأ !!

image.png.94bad47871ee2b8e02bd9fa76f4c461a.png

.

جعفر

 

 

عفوا ، ما انتبهت انك عامل Lookup في الجداول ، وهذه احد الشعلات اللي اتجنبها 100% في برامجي !!

 

  • Like 1
قام بنشر (معدل)

الاساتذة المحترمين  kha9009lid و jjafferr 

اذا كان لدي 9 جداول تابعة للجدول الرئيسي وانا احتاجها جميعا في الاستعلام التجيميعي  وحسب جواب الاستاذ خالد هل يجب ان اعمل في هذة الحالة 10 استعلامات 

تم تعديل بواسطه ازهر عبد العزيز
  • تمت الإجابة
قام بنشر
22 دقائق مضت, ازهر عبد العزيز said:

اذا كان لدي 9 جداول تابعة للجدول الرئيسي وانا احتاجها جميعا في الاستعلام التجيميعي  وحسب جواب الاستاذ خالد هل يجب ان اعمل في هذة الحالة 9 استعلامات

دائما هناك حلول

مثلا ممكن نوصل للنتيجة بعدد 2 استعلام

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

والاستعلام الثاني يكون النهائي وفيه يتم احتساب الاجمالية ومصدرة الجدول الجديد

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

  • Like 1
  • Thanks 1
قام بنشر

في الجدول ، ما عندك امكانية تغييره برمجيا (ممكن ولكن باكواد طويلة ومعقدة) ، لذا ، فنحن نستعمل هذا الطريقة في النموذج للكمبوبوكس 🙂 

image.png.577eca8df0baa257943124cc5ab1ee15.png

.

جعفر

  • Like 1
  • Sad 1
قام بنشر
2 ساعات مضت, jjafferr said:

في الجدول ، ما عندك امكانية تغييره برمجيا (ممكن ولكن باكواد طويلة ومعقدة) ، لذا ، فنحن نستعمل هذا الطريقة في النموذج للكمبوبوكس 🙂 

image.png.577eca8df0baa257943124cc5ab1ee15.png

.

جعفر

شكرا استاذ جعفر لكنك لم تذكر هذةالنصيحة هنا  https://www.officena.net/ib/topic/104245-نصيحة-للاخوان-الاعضاء/?tab=comments#comment-627345

قام بنشر

من بعد اذن الاخوة الكرام

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

Expr1: Nz(DSum("[crelative_num]";"[TBc]";"[idv] =" & [TBv]![idv]);0)

Expr2: Nz(DSum("[hrelative_num]";"[TBh]";"[idv] =" & [TBv]![idv]);0)

vvv.rar

تحياتي

  • Like 2
قام بنشر (معدل)
5 ساعات مضت, محمد أبوعبدالله said:

وان كان بها عيوب ارجوا توضيحها للاستفادة

 

علشان يكون برنامجك ناجح ، اعتبر ان به عشرات الآلاف من السجلات ، على الاقل !!

الطريقة الوحيدة للحصول على معلومة معينة في قواعد البيانات ، من بين مئات او آلاف او ملايين السجلات ، هو الاستعلام :

  1. قد يكون الاستعلام العادي الذي يسمح لنا الاكسس عمله بالطريقة التقليدية السهلة (وللعلم ، فالاكسس كان يتفوق على الكثير من قواعد البيانات العملاقة بهذه الميزة ، اما الباقين فكانوا يستعملون الكود !!) ،
  2. او الاستعلام في الكود بإستخدام SQL ،
  3. او الاستعلام بطريقة Recordset ،
  4. او بطريقة اسهل ، وهي الاستعلام بطريقة DSum او DLookup او DCount او DMax او بقية عائلة الدوال التي تبدأ بـ D (اذن فهي استعلام ايضا)**1 .

 

يمكننا عمل استعلام مجاميع بواسطة الاستعلام العادي ، مع وضع معرّف السجل ID (وبهذه الطريقة يعمل الاستعلام مرة واحدة للحصول على المعلومة وجمعها) ، وقد نحتاج الى استعمال هذا الاستعلام كمصدر بيانات لإستعلام آخر عادي لإظهار بقية البيانات (يعني استعلام مجاميع 1 + استعلام عادي 1 = استعلامين) ، 

بينما عند وضع DSum في الاستعلام ، فإن الاستعلام يقوم بعمله كإستعلام عادي ، بالاضافة الى استعلام DSum لكل سجل (يعني 1 + استعلامات بعدد السجلات) ، لهذا السبب تجد انه بطئ جدا ، ويمكنك القاء نظرة هنا لمقارنة السرعة ، وبالخصوص آخر مقارنة وهي للـ DLookup في استعلام :

 

 

جعفر

 

**1  :

هذه الطريقة لا تعمل عند ربط الاكسس مع SQL Server ،

كنت اعتقد ان هذه الطريقة موجودة في الاكسس فقط ، وقد افادني اخي الاستاذ خالد @kha9009lid بأنها تعمل مع اوراكل بنفس طريقة عملها مع اكسس ولكن بدون الحاجة الى علامات التنصيص والاقواس []

وايضا تعمل مع قاعدة بيانات بيس الخاصة بتطبيق اوبن اوفيس بنفس الطريقة

تم تعديل بواسطه jjafferr
تصحيح معلومة
  • Like 2
  • Thanks 1
قام بنشر
2 دقائق مضت, jjafferr said:

بالاضافة الى استعلام DSum بعدد السجلات (يعني 1 + استعلامات بعدد السجلات)

تمام استاذنا الفاضل وصلت المعلومة

الآن فهمت لماذا لا تفضل استخدام dsum مباشرة في الاستعلام وتفضل استخدام استعلامين الاول تجميعي والثاني مبني على الاول

بارك الله فيك استفدت كثيرا من المعلومة

تحياتي

  • Like 3
قام بنشر (معدل)
2 ساعات مضت, jjafferr said:

ما شاء الله عليك اخوي خالد ، ذاكرتك قوية 🙂 

ليس الذاكرة فقط وايضا نظرة 6/6  استاذ خالد عليك بالبخور وقراءة المعوذتيين   ربي يحفظك 

 

 

تم تعديل بواسطه ازهر عبد العزيز
قام بنشر
1 دقيقه مضت, ازهر عبد العزيز said:

ليس الذاكرة فقط وايضا نظرة 6/6 

استاذ خالد عليك بالبخور وقراءة المعوذتيين  

ربي يحفظك 

 

هممم ، يعني تريد تخبر اخوي خالد اني عماني ، وتريده يتحرّز بالبخور ، للعلم ، البخور يعزم اصحابنا :wavetowel:

 

جعفر

  • Haha 2
قام بنشر
3 دقائق مضت, jjafferr said:

 

هممم ، يعني تريد تخبر اخوي خالد اني عماني ، وتريده يتحرّز بالبخور ، للعلم ، البخور يعزم اصحابنا :wavetowel:

 

جعفر

بصراحة انت تحتاجهن اكثر  وايضا تبحث عن الرابعة 😈

قام بنشر
3 ساعات مضت, jjafferr said:

ما شاء الله عليك اخوي خالد ، ذاكرتك قوية

ههههه

نعم صحيح وهي ميزة للشباب ومشكلة للمسنين

49 دقائق مضت, ازهر عبد العزيز said:

يس الذاكرة فقط وايضا نظرة 6/6  استاذ خالد عليك بالبخور وقراءة المعوذتيين

لا والله النظر ضعيف جدا بسبب السن ومشاكله

ذهبَ الشبابُ فما له منْ عودةٍ وأتَى المشيبُ فأينَ منهُ المَهربُ

42 دقائق مضت, jjafferr said:

هممم ، يعني تريد تخبر اخوي خالد اني عماني ، وتريده يتحرّز بالبخور ، للعلم ، البخور يعزم اصحابنا

انعم واكرم بعمان واهلها الافاضل واصحابكم هم اصحابنا 😎

قام بنشر
13 دقائق مضت, kha9009lid said:
56 دقائق مضت, jjafferr said:

هممم ، يعني تريد تخبر اخوي خالد اني عماني ، وتريده يتحرّز بالبخور ، للعلم ، البخور يعزم اصحابنا

انعم واكرم بعمان واهلها الافاضل واصحابكم هم اصحابنا 😎

الله يسلمك ، اخوي زاهر عنده خطأ فني وما فهم السالفة :biggrin:

اصحابنا اللي اتكلم عنهم ، اللي البخور يعزمهم ، تراهم اللي يطيرون :biggrin:

 

جعفر

  • Like 1

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.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information