Ali Tawfeek قام بنشر أبريل 19, 2015 قام بنشر أبريل 19, 2015 السلام عليكم لدى ملف المرفق يحتوى على اسماء و لكل اسم رقم تعريقي لا يتكرر تحت اسم اخر و لكن يتكرر اذا تكرر نفس الاسم و لكل اسم رقم فرعي ما اريدة في الاستعلام : انشاء الاتي اولا : انشاء متوسط للارصدة لكل صف بحيث يتم تجاهل الارقام السوالب او بمعني ادق تعتبر كانها صفر ثانيا : في حالة وجود اسم لة اكثر من رقم تعريفي فيتم اختيار اسم واحد فقط بناء على اختيار افضلية للرقم الفرعي 2 ثالثا : في حالة اذا كان نفس الاسم اللى فى ثانيا يحتوى على اكثر من رقم فرعي 2 فيتم اختيار المتوسط الاكبر يعني لو حبنا نطبق السابق اولا سوف تطبق على رقم تعريفي 107 حيث تم اعتبار المتوسط 1 بدل من 0.5 لاننا اعتبارنا -1 بالصفر بالنسبة الى الطلب ثانيا و ثالثا فاذا نظرنا الى رقم تعريفي 104 فسيتم تفضيل رقم 2و من ثم يتم فصل المتوسط الاكبر و هو 25 رقم تعريفي الاسم فرعي رصيد 1 رصيد 2 متوسط 101 احمد 1 0 0 0 101 احمد 1 15 25 20 101 احمد 1 0 5 2.5 101 احمد 2 23 27 25 102 اشرف 2 1 2 1.5 102 اشرف 2 25 25 25 103 ايمن 2 1 2 1.5 104 رامز 1 18 12 15 104 رامز 1 28 22 25 104 رامز 2 28 22 25 104 رامز 2 18 12 15 107 عادل 1 -1 2 1 107 عادل 1 1 0 0.5 عذرا للاطالة New.rar
راعي الغنم قام بنشر أبريل 25, 2015 قام بنشر أبريل 25, 2015 هذا السؤال صعب بصراحة ^_^ جرب البحث في المنتدى
Ali Tawfeek قام بنشر أبريل 25, 2015 الكاتب قام بنشر أبريل 25, 2015 هذا السؤال صعب بصراحة ^_^ جرب البحث في المنتدى شكرا لك بس هل من توضيح هل تعني ان المنتدى به الاجابة علي سؤالي ؟ لانى بحثت قبل طرح السؤال
راعي الغنم قام بنشر أبريل 25, 2015 قام بنشر أبريل 25, 2015 هذا السؤال صعب بصراحة ^_^ جرب البحث في المنتدى شكرا لك بس هل من توضيح هل تعني ان المنتدى به الاجابة علي سؤالي ؟ لانى بحثت قبل طرح السؤال هذا ما اردت جرب تغير صيغة ومفردات البحث واستخدم مربع البحث مع جوجل لأنه اشمل.. وفقك الله
jjafferr قام بنشر أبريل 25, 2015 قام بنشر أبريل 25, 2015 وعليكم السلام أخي علي للأسف سؤالك غير واضح رجاء تعمل اكثر من مثال في الاكسل او الوورد (مثلا الرقم التعريفي 107 ، فيه رقمين ، كيف تريدنا نتعامل معاهم) ، ورجاء اعطاء ادق التفاصيل ، حتى نعرف المطلوب بالضبط جعفر
Ali Tawfeek قام بنشر أبريل 25, 2015 الكاتب قام بنشر أبريل 25, 2015 (معدل) شكرا اخي jjafferr و اليك الملف المرفق به شرح تفصيلي للمطلوب مع تطبيقه على الملف المرفق سابقا وشكل الناتج المراد الوصول الية File.rar تم تعديل أبريل 25, 2015 بواسطه ali fathi
رمهان قام بنشر أبريل 26, 2015 قام بنشر أبريل 26, 2015 اخي علي فتحي وبعد اذن الاخوة والاساتذة حبذا ان تشرح تريد ان تصل في الأصل الى اين ؟ اقصد انت تريد ان تحسب ماذا ؟ كان تقول مثلا : لدي عملاء او موردين وأرقام فواتير وعند كل عمل فاتورة يتم ترصيد رصيد العميل او المورد ؟ او كان تقول اريد المتوسط المرجح لمجموعة ارصدة ؟ نريد شرح فكرتك التي تريد تنفيذها !! مع العلم انه تم فهم ماتريد تماما من خلال ملف الوورد ولكن حبيت ان اعرف ماذا بذهنك !! فقد يكون هناك طرق اسهل من السيناريو الذي بذهنك ؟ تحياتي
Ali Tawfeek قام بنشر أبريل 26, 2015 الكاتب قام بنشر أبريل 26, 2015 اخي رمهان كل الشكر لردك ارجو العلم ان شكل الجدول السابق هو ملخص او ناتج لحسابات موردين و المراد الوصول الية هو مجرد تصفية لاكبر موردين من حيث الارصدة و حسب نوع حساب التوريد هنوع من تصفية الحسابات النشطة حسب توقيت العروض و هكذا لذلك يعتبر ملف الورد السابق هو المراد الوصول الية كخط نهاية لطلبي في وقت الحالي لانى لا اخفي عليك كل شئ جديد بتكون نهايته موقته لان مع دراسة و اتخاذ القرار قد يضاف شئ الية و لكن حاليا المراد الوصول الية هو عمل استعلام على الجدول السابق بحيث يوصل لنتيجة التصفية المرادة
رمهان قام بنشر أبريل 26, 2015 قام بنشر أبريل 26, 2015 (معدل) عزيزي علي فتحي وبعد اذن الاستاذ جعفر على المداخلة محاولة لحفظ جزء من وقته ! وكذلك اخي راعي الغنم استأذنه ولعل له به فائدة ! اعمل استعلام ومصدره الجملة التالية واحفظه باسم qr1 : SELECT Record_OLD.[رقم تعريفي], Record_OLD.الاسم, Max(Record_OLD.فرعي) AS Maxمنفرعي, Max((IIf([رصيد 1]<0,0,[رصيد 1])+IIf([رصيد 2]<0,0,[رصيد 2]))/2) AS expr1 FROM Record_OLD GROUP BY Record_OLD.[رقم تعريفي], Record_OLD.الاسم; واستعلام ثاني ومصدره الجملة التالية واحفظه باسم qr2 : SELECT Record_OLD.[رقم تعريفي], Record_OLD.الاسم, Record_OLD.فرعي, Record_OLD.[رصيد 1], Record_OLD.[رصيد 2], (IIf([رصيد 1]<0,0,[رصيد 1])+IIf([رصيد 2]<0,0,[رصيد 2]))/2 AS المتوسط FROM Record_OLD; واستعلام ثالث واحفظه باسم qr3 حيث هو المطلوب : SELECT [qr2].[رقم تعريفي], [qr2].الاسم, [qr2].فرعي, [qr2].[رصيد 1], [qr2].[رصيد 2], qr2.[المتوسط] FROM qr2 INNER JOIN qr1 ON (qr2.[المتوسط]=qr1.expr1) AND ([qr2].فرعي=[qr1].Maxمنفرعي) AND ([qr2].الاسم=[qr1].الاسم) AND ([qr2].[رقم تعريفي]=[qr1].[رقم تعريفي]); هذا متمنيا ان يكون المطلوب !! تحياتي تم تعديل أبريل 26, 2015 بواسطه رمهان 2
Ali Tawfeek قام بنشر أبريل 27, 2015 الكاتب قام بنشر أبريل 27, 2015 اخي رمهان شكرا لسرعة تفاعلك بس هل من ردك يكون ضمن الملف المرفق و ذلك علشان احاول احاكي ما تعلمتة منك من خلال تجربة عذرا لعدم مقدرتي علي تنفيذ خطواتك السابقة
jjafferr قام بنشر أبريل 27, 2015 قام بنشر أبريل 27, 2015 عزيزي علي فتحي وبعد اذن الاستاذ جعفر على المداخلة محاولة لحفظ جزء من وقته ! وكذلك اخي راعي الغنم استأذنه ولعل له به فائدة ! اعمل استعلام ومصدره الجملة التالية واحفظه باسم qr1 : SELECT Record_OLD.[رقم تعريفي], Record_OLD.الاسم, Max(Record_OLD.فرعي) AS Maxمنفرعي, Max((IIf([رصيد 1]<0,0,[رصيد 1])+IIf([رصيد 2]<0,0,[رصيد 2]))/2) AS expr1 FROM Record_OLD GROUP BY Record_OLD.[رقم تعريفي], Record_OLD.الاسم; واستعلام ثاني ومصدره الجملة التالية واحفظه باسم qr2 : SELECT Record_OLD.[رقم تعريفي], Record_OLD.الاسم, Record_OLD.فرعي, Record_OLD.[رصيد 1], Record_OLD.[رصيد 2], (IIf([رصيد 1]<0,0,[رصيد 1])+IIf([رصيد 2]<0,0,[رصيد 2]))/2 AS المتوسط FROM Record_OLD; واستعلام ثالث واحفظه باسم qr3 حيث هو المطلوب : SELECT [qr2].[رقم تعريفي], [qr2].الاسم, [qr2].فرعي, [qr2].[رصيد 1], [qr2].[رصيد 2], qr2.[المتوسط] FROM qr2 INNER JOIN qr1 ON (qr2.[المتوسط]=qr1.expr1) AND ([qr2].فرعي=[qr1].Maxمنفرعي) AND ([qr2].الاسم=[qr1].الاسم) AND ([qr2].[رقم تعريفي]=[qr1].[رقم تعريفي]); هذا متمنيا ان يكون المطلوب !! تحياتي ول ول ول ، هالكثر الموضوع معقد رحم الله والديك أخوي رمهان ، رفعت الرايه عنا كلنا جعفر
رمهان قام بنشر أبريل 27, 2015 قام بنشر أبريل 27, 2015 (معدل) عزيزي علي فتحي وبعد اذن الاستاذ جعفر على المداخلة محاولة لحفظ جزء من وقته ! وكذلك اخي راعي الغنم استأذنه ولعل له به فائدة ! اعمل استعلام ومصدره الجملة التالية واحفظه باسم qr1 : SELECT Record_OLD.[رقم تعريفي], Record_OLD.الاسم, Max(Record_OLD.فرعي) AS Maxمنفرعي, Max((IIf([رصيد 1]<0,0,[رصيد 1])+IIf([رصيد 2]<0,0,[رصيد 2]))/2) AS expr1 FROM Record_OLD GROUP BY Record_OLD.[رقم تعريفي], Record_OLD.الاسم; واستعلام ثاني ومصدره الجملة التالية واحفظه باسم qr2 : SELECT Record_OLD.[رقم تعريفي], Record_OLD.الاسم, Record_OLD.فرعي, Record_OLD.[رصيد 1], Record_OLD.[رصيد 2], (IIf([رصيد 1]<0,0,[رصيد 1])+IIf([رصيد 2]<0,0,[رصيد 2]))/2 AS المتوسط FROM Record_OLD; واستعلام ثالث واحفظه باسم qr3 حيث هو المطلوب : SELECT [qr2].[رقم تعريفي], [qr2].الاسم, [qr2].فرعي, [qr2].[رصيد 1], [qr2].[رصيد 2], qr2.[المتوسط] FROM qr2 INNER JOIN qr1 ON (qr2.[المتوسط]=qr1.expr1) AND ([qr2].فرعي=[qr1].Maxمنفرعي) AND ([qr2].الاسم=[qr1].الاسم) AND ([qr2].[رقم تعريفي]=[qr1].[رقم تعريفي]); هذا متمنيا ان يكون المطلوب !! تحياتي ول ول ول ، هالكثر الموضوع معقد رحم الله والديك أخوي رمهان ، رفعت الرايه عنا كلنا جعفر هناك افكار اخرى اخي جعفر !! ولكنني اخترت هذه الفكرة لان كلها فقط استعلام تجميعي ثم الربط بينهم !! وهي مفهومة للغالب ! فيبدو انني نفذت الاصعب ! هناك فكرة ثلاث استعلامات متداخلة sub queries !! وهناك اكثر من فكرة خوارزمية بالكود ! وجودكم ومشاركتم فيها الخير والبركة ! تحياتي تم تعديل أبريل 27, 2015 بواسطه رمهان
Ali Tawfeek قام بنشر أبريل 28, 2015 الكاتب قام بنشر أبريل 28, 2015 شكرا اخي رمهان على مساعدتك بس هل من سؤال لتاكيد فهمي اذا كان صحيح ام لا انت شكلت الاستعلام الاول على فكرة انك تصفي اعلي كود حساب فرعي في اول عمود و في تاني عمود على انك تصفي اعلي متوسط و ذلك بغض النظر اذا كان العمودين مرتبطين ام لا يعني بمعني ادق ممكن الممكن ان متوسط يرتبط بحساب فرعي و الكود الفرعي الاعلي يرتبط بحساب اخر و بالنسبة الى الاستعلام الثاني انت عملت مجرد استعلام على الملف بالكامل بحيث تظهر المتوسط لكل الحسابات المتواجدة و الاستعلام الثالث الخاص بالربط على اساس هو ان المتوسط المتشابة اللى في الاستعلام الاول و الثاني هيظهر كود الحساب الاعلي اذا كان فهمي صحيح فدة هيظهر لى مشكلة كالتالي الاولي : اننا اعتمادنا على تصفية الحساب الفرعي على فكرة الاكبر يعني مجرد ترتيب ابجدى او رقمي رغم المراد او اللى كان مطلوب هو مجرد اولوية و ليس الاكبر بمعني ادق ممكن الاكودا عندى تكون رموز و المطلوب هو مجرد تفضيل رمز عن الاخر في حالة وجد رمزين الثانية : مرفق لك نفس المثال السابق و لكن تم تعديل ارصدة رامز بحساب فرعي رقم 1 بحيث ان متوسط سيصبح 50 و بذلك المفروض المورد رامز هيكون عندة متوسط لحسابين الاول ذات كود 1 متوسط رصيدة هيكون 50 و الثاني ذات كود 2 متوسط رصيدة هيكون 25 لذلك هنلاقي الملف السابق لم يظهر رامز في الاستعلام الثالث لذلك ما ينقصني التعديل هو كيفية تفضيل الحساب الفرعي يعني كيف يكون متغير بمعني ادق اذا افترضت ان الافضلية للحساب فرعي 1 يبقي استعلام 3 المفروض يظهر رامز برصيد 50 و يتجاهل الباقي ام اذا افترضت ان الافضلية لحساب فرعي رقم 2 يبقي استعلام 3 المفروض يظهر رامز برصيد 25 و يتجاهل الباقي و هكذا New.rar
Ali Tawfeek قام بنشر مايو 1, 2015 الكاتب قام بنشر مايو 1, 2015 هل من مساعدة في حل المشكلة الخاصة بتصفية المتكرر بناء علي اختيار الحساب الفرعي ذات الأولوية أو الأفضلية ارجو الرد
رمهان قام بنشر مايو 7, 2015 قام بنشر مايو 7, 2015 اخي عل فتحي اسف عالتاخير !! جرب لعلني فهمت المقصود ! او اكتب الملاحظات لتقريب الفهم !! بالتوفيق New-last.rar
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.