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

مشكلة باستعلام جمع بأكثر من معيار


Amr Ashraf
إذهب إلى أفضل إجابة Solved by Amr Ashraf,

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

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

بسبب وجود مشكلة فى عرض البيانات بعد اضافة معيار التاريخ .. ومشكورا قام الاستاذ @الفلاحجى بالمساعدة بالمشكلة باضافة Or Is Null بجوار معيار التاريخ وللوهلة الاولى المشكلة تم حلها ولكن مع العمل الفعلى ظهرت مشكلة اخرى ببساطة كما يلى :

كما اشرت بالفعل تم حل مشكلة عدم وجود مبيعات للصنف فى جدول المبيعات  , اما فى حالة وجود مبيعات ولكن فى فترة لاحقة او سابقة على ميعاد التوريد المحدد فى QryPlans يختفى الصنف من QryFollowUp وهذه المشكلة .

مثال لتوضيح المشكلة :

لو افترضنا ان لدينا طلبية ب2500 علم مصر  بداية توريدها 1/1/2022 ونهاية الفترة 8/1/2022 ولم يتم توريد ايا منها يكون الاستعلام   QryFollowUp تمام ويعرض ان الكمية المباعة صفر .. ولكن على افتراض ان تم بيع الصنف المذكور يوم 9/1/2022 سيختفى الصنف من QryFollowUp وذلك نتيجة لمعيار التاريخ الموجود فى الاستعلام.

المطلوب ببساطة يا اخوان ان يكون هناك استعلام يحسب ما تم بيعه لعميل محدد فى فترة محددة من تاريخ الى تاريخ وتكون محددة فى QryPlans .. وفى حالة عدم وجود مبيعات تتوافق مع العميل فى الفترة المذكورة يكون اجمالى البيع QtySold فى QryFollowUp تساوى صفر على سبيل التوضيح فقط مثل الدالة التالية :

QryFollowUpPlans.[QtySold] = Dsum("[QtyOut]","QrySalesPlans","[Code]='"&[ProductCode]&'" And [Client]='"&[Client]&'" And [Zdate] Between #QryFollowUpPlans.[ClcFromDate]# And #QryFollowUpPlans.[ClcToDate]#

 

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

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

الشكر لله ثم لاخواننا واساتذتنا جزاهم الله عنا كل خير

وما انا باستاذ فاننى اخوك الصغير وطالب علم معكم هنا اتعلم منكم ومعكم

2 ساعات مضت, Amr Ashraf said:

مثال لتوضيح المشكلة :

لو افترضنا ان لدينا طلبية ب2500 علم مصر  بداية توريدها 1/1/2022 ونهاية الفترة 8/1/2022 ولم يتم توريد ايا منها يكون الاستعلام   QryFollowUp تمام ويعرض ان الكمية المباعة صفر .. ولكن على افتراض ان تم بيع الصنف المذكور يوم 9/1/2022 سيختفى الصنف من QryFollowUp وذلك نتيجة لمعيار التاريخ الموجود فى الاستعلام.

المطلوب ببساطة يا اخوان ان يكون هناك استعلام يحسب ما تم بيعه لعميل محدد فى فترة محددة من تاريخ الى تاريخ وتكون محددة فى QryPlans .. وفى حالة عدم وجود مبيعات تتوافق مع العميل فى الفترة المذكورة يكون اجمالى البيع QtySold فى QryFollowUp تساوى صفر على سبيل التوضيح فقط مثل الدالة التالية :

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

بالتوفيق

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

2 ساعات مضت, الفلاحجى said:

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

بالتوفيق

عليكم السلام ورحمة الله وبركاته ..  اخى الكريم مرفق قاعدة بها البيانات وهذه صورة توضيحية مع شرح ماتم فيها :ezgif.com-gif-maker.thumb.gif.d1f6bacab5d7baee1e7151a609de23fa.gif

على افتراض ان عندى عميل اسمه السعودية طلب 500 شجرة زينة و 1000 شجرة مثمرة يتم توريدهم فى الفترة من 2022/1/1 حتى 6/1/2022 - المثال التركيز على الاشجار المثمرة - .. تم بيع عدد 100 شجرة مثمرة يوم 4/1/2022 - بالتالى داخل فى نطاق فترة التوريد المشار اليها بالاعلى - لو فتحت استعلام QryFollowUp ستجده قام باحتساب ال100 شجرة المثمرة بشكل طبيعى ... طيب فى الخطوة اللى بعدها قمت بتعديل تاريخ بيع الاشجار الى يوم 8/1/2022 - أى خارج نطاق فترة التوريد المحددة لخطة البيع - فى هذه الحالة اذا قمت بفتح الاستعلام QryFollowUp ستجد ان الاشجار المثمرة اختفت من العرض .. اتمنى تكون الفكرة وضحت .. جزاكم الله خير

 

 

Amr.accdb

تم تعديل بواسطه Amr Ashraf
رابط هذا التعليق
شارك

اخى عمرو كيف تريد اظهار

6 ساعات مضت, Amr Ashraf said:

فترة لاحقة او سابقة

وانت محدد المعيار بين تاريخين بدايه التوريد ونهايه التوريد ولى سؤال كيف يكون هناك مبيعات سابقه عن ميعاد التوريد

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

بالتوفيق

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

9 ساعات مضت, الفلاحجى said:

وانت محدد المعيار بين تاريخين بدايه التوريد ونهايه التوريد ولى سؤال كيف يكون هناك مبيعات سابقه عن ميعاد التوريد

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

هيكون عندك تساؤل آخر لماذا لا اذكر رقم الطلبية فى جدول المبيعات ويتم التجميع على اساسها بدلا من التاريخ ؟ .. اجابة هذا التساؤل ان تقرير المبيعات يكون وارد من ادارة اخرى وبه الكثير والكثير من الاصناف والعملاء وسيكون من المرهق جدا اضافة رقم الطلبية بجوار كل حركة صادر ..

اتمنى اكون وضحت الفكرة .. جزاكم الله خير

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

السلام عليكم .. اخوانى عندى فكرة جديدة سأحاول تطبيقها واوافيكم بالنتيجة .. الفكرة كالتالى :

اولا: اضافة عمود جديد الى جدول المبيعات اسمه PlanSerial وسيتم اضافة فيه رقم الخطة الصحيحة التى سيتم شرحها فى النقطة التالية.

 ثانيا: عمل Function تقوم بالبحث فى جدول المبيعات بالكود و العميل خلال فترة التوريد المذكورة فى QryPlans ثم تعديل العمود الجديد المشار اليه بالاعلى وكتابة رقم الخطة المطابقة لجميع الشروط ولاحقا يتم ربط استعلام المتابعة بجدول المبيعات عن طريق رقم الخطة وتجميع النتائج بعيدا عن ازمة المعايير فى التاريخ .

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

  • أفضل إجابة

تم الحل بفضل الله باستخدام هذا الاستعلام بدلا من  QryFollowUp

SELECT qryPlans.PlanSerial, qryPlans.Client, qryPlans.ClcFromDate, qryPlans.ClcToDate, qryPlans.Code, qryPlans.Product, qryPlans.Qty, Nz((select Sum(QtyOut) From qrySales AS T Where T.Code = QryPlans.[Code] And (T.zDate >= qryPlans.[ClcFromDate] And T.zDate <= qryPlans.[ClcToDate])),0) AS Out, [Qty]-Nz((select Sum(QtyOut) From qrySales AS T Where T.Code = QryPlans.[Code] And (T.zDate >= qryPlans.[ClcFromDate] And T.zDate <= qryPlans.[ClcToDate])),0) AS Remains
FROM qryPlans;

الحل من موقع اجنبى كنت قد عرضت مشكلتى عليه .. جزاكم الله خير

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

14 ساعات مضت, الفلاحجى said:

ارجو منك ارفاق المثال بعد اضافه الحل اخى عمر

يتم استبدال الاستعلام فقط بالاستعلام الجديد المذكور فى المشاركة .

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

7 ساعات مضت, Amr Ashraf said:

يتم استبدال الاستعلام فقط بالاستعلام الجديد المذكور فى المشاركة .

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

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

منذ ساعه, الفلاحجى said:

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

اعذرنى لضيق الوقت .. سأقوم بالتعديل وارفاق مثال تحت امرك.

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

السلام عليكم .. مرفق المثال بعد التعديل واضافة الاستعلام الجديد ..

ملاحظة : يمكن اضافة اكثر من شرط فى جملة SQL بنفس طريقة سير الاستعلام .. يتم اضافة And وكتابة الشرط

1 ساعه مضت, الفلاحجى said:

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

المشكلة كانت فى تحويل مسميات الحقول الى اللغة الانجليزية وذلك لعرضه على المنتدى الاجنبى .. وعند عمل تسمية بديلة بالانجليزية يعمل الاستعلام بدون مشاكل ..

Solved By SubQuery.accdb

تم تعديل بواسطه Amr Ashraf
تعديل التنسيق
رابط هذا التعليق
شارك

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