moho58 قام بنشر يوليو 7 قام بنشر يوليو 7 (معدل) السلام عليكم الاخوة الافاضل في هذا المنتدى الجميل في هذا الموضوع اريد معرفة ترتيب كل طالب من مجموع الطلاب (بما في ذلك عند القيام بعملية الفلترة يعطيني الترتيب وكذا مجموع الطلاب) من النموذج frm_examen_fin_formation اختار: السنة ثم الدرجة ثم البلد ثم افتح النموذج frm_modul في النموذج frm_modul : يعرض أسماء الطلبة حسب ما تم اختياره من النموذج السابق في هذا النموذج frm_modul أريد أن أعرف (الترتيب) الخاص بكل طالب من مجموع الطلاب وقد أضفت مربعي نص هما: ترتيب الطالب و مجموع الطلاب مثال فقط: من النموذج frm_examen_fin_formation اختار: السنة: 2022/2021 الدرجة: مساعد مهندس البلد: عمان ثم افتح النموذج frm_modul نلاحظ وجود 8 طلاب ما أريده من فضلكم هو أن أضع في مربعي النص الموجودين في النموذج : ترتيب كل طلاب : .... (الترتيب حسب المعدل العام من الأكبر إلى الأصغر وفي حالة التساوي في المعدل العام نضيف معيار آخر هو حقل ID من جدول info_stagiere ويكون من الأصغر إلى الأكبر ) مجموع الطلاب: هو تلقائا 8 حسب ما تم اختياره من النموذج السابق وهذا الكود يجب أن يشتغل مع عملية الفلترة و انهاء الفلترة (الأكواد موجودة للفلترة وانهاء الفلترة) يعني يعطيني في حالة البحث عن طالب يعطيني ترتيب هذا طالب وكذا مجموع الطلاب أنا حاولت محاولة ضعيفة اشتغلت معي لكن في عملية الفلترة وانهاء الفلترة لا يعطيني ترتيب كل طالب * حاجة ثانية من فضلكم أريد ان اعرف العلاقة صحيحة الموجودة بين الجدولين info_stagiere و modul بين الحقلين ID و id لاني استعملتها كثيرا في جداول مختلفة الرجاء المساعدة والتوجيه وبارك الله فيكم baseC.accdb تم تعديل يوليو 7 بواسطه moho58 زيادة الشرح
ابوخليل قام بنشر يوليو 8 قام بنشر يوليو 8 للترتيب ضع هذا السطر في الاستعلام مصدر بيانات النموذج modul trteeb: CLng(DCount("ID";"modul";"mouadel_3am >=" & [mouadel_3am])) واجعله مصدر حقل الترتيب مجموع الطلاب اكتب في مصدر بيانات الحقل التالي : =Count(*) 1
ابوخليل قام بنشر يوليو 8 قام بنشر يوليو 8 بالنسبة للفلترة .. انا ارى انها الزام ما لا يلزم السجل يعرض اسما واحدا .. يكفي ان تختار الاسم ليعرض بياناته
moho58 قام بنشر يوليو 8 الكاتب قام بنشر يوليو 8 11 ساعات مضت, ابوخليل said: للترتيب ضع هذا السطر في الاستعلام مصدر بيانات النموذج modul trteeb: CLng(DCount("ID";"modul";"mouadel_3am >=" & [mouadel_3am])) واجعله مصدر حقل الترتيب مجموع الطلاب اكتب في مصدر بيانات الحقل التالي : =Count(*) تحية طيبة أستاذنا الفاضل @ابوخليل معذرة على التأخر في الرد بعد التجربة ظهر الخطأ كما في الصورة 1 أستاذنا فيما يخص الفلترة: عند القيام بعملية الفلترة يعطينا ترتيب كل طالب وكذا مجموع الطالب حسب ما اخترناه من النموذج السابق عند استعمال العملية count (*) عند القيام بالفلترة يعطيني مجموع الطلاب دائما 1 وفي المثال الموضح في الصورة 1 مجموع الطلاب هو 8 أستاذنا يرجى التأكد كذلك من صحة العلاقة الموجودة في نموذج frm_modul بين الجدولين info_stagiere و modul بين الحقلين ID و id وبارك الله فيك
ابوخليل قام بنشر يوليو 9 قام بنشر يوليو 9 العلاقة صحيحة وهي علاقة رأس باطراف بمعنى ان الطالب يمكن ان يكون له اكثر من سجل في جدول modul بالنسبة للمجموع= 1 فهو منطقي جدا وصحيح ..لأن النموذج بعد الفلترة مصدره سجل واحد فقط . اليك المثال بعد عمل الأوائل .. شغال عندي 100% baseC3.rar
moho58 قام بنشر يوليو 9 الكاتب قام بنشر يوليو 9 الان, ابوخليل said: العلاقة صحيحة وهي علاقة رأس باطراف بمعنى ان الطالب يمكن ان يكون له اكثر من سجل في جدول modul بالنسبة للمجموع= 1 فهو منطقي جدا وصحيح ..لأن النموذج بعد الفلترة مصدره سجل واحد فقط . اليك المثال بعد عمل الأوائل .. شغال عندي 100% baseC3.rar 34.4 kB · 2 downloads مشكور جدا أستاذنا الفاضل على المتابعة بعد التجربة مزال نفس الخطأ ولا يعطي نتيجة ترتيب الطالب الخطأ موضح في الصورة
ابوخليل قام بنشر يوليو 9 قام بنشر يوليو 9 انا يعمل عندي على اكمل وجهه اتوقع المشكلة عندك في الحقل المحسوب mouadel_3am تم اجراء لمسة عليه .. جرب الآن baseC4.rar 1
moho58 قام بنشر يوليو 10 الكاتب قام بنشر يوليو 10 منذ ساعه, ابوخليل said: انا يعمل عندي على اكمل وجهه اتوقع المشكلة عندك في الحقل المحسوب mouadel_3am تم اجراء لمسة عليه .. جرب الآن baseC4.rar 40.21 kB · 1 download مزالت نفس المشكلة أستاذنا كما في الصورة
ابوخليل قام بنشر يوليو 10 قام بنشر يوليو 10 كما ترى يعمل عندي بلا مشاكل يمكن الفاصلة تنقلب عندك تأكد من الكود والفاصلة المنقوطة داخل الاستعلام مصدر النموذج myoutonum: CLng(DCount("ID";"modul";"mouadel_3am >=" & [mouadel_3am])) أذا لم تكن المشكلة منها .. فهي من الحقل المحسوب قد يكون الخلل منه
moho58 قام بنشر يوليو 10 الكاتب قام بنشر يوليو 10 السلام عليكم أستاذنا @ابوخليل معك حق المشكل كان في حقل المعدل العام قمت بتغيير نوع النتيجة إلى : عدد صحيح فاشتغل فضلا وإن كان بالإمكان استاذنا : ترتيب الطالب يكون حسب الطلاب المختارين من النموذج frm_examen_fin_formation حسب: السنة والدرجة والبلد وليس حسب جميع الطلاب الموجودين في الجدول modul مثال: اختار من النموذج السنة: 2022/2021 الدرجة: مساعد مهندس البلد:عمان يظهر النموذج كما في الصورة المرفقة وفيه 8 طلاب نلاحظ: مثلا الطالب المسمى : منار ترتيبه هو: 27 ومجموع الطلاب: 8 الترتيب يكون حسب ما تم احتياره من النمودج (هنا الطالب منار من المفروض ترتيبه يكون محصور من 1 إلى8 ترتيب الطالب : يكون حسب المعدل العام: من الأكبر إلى الأصغر وفي حالة التساوي نأخد معيار ترتيب آخر وهو ID (ويكون من الأصغر إلى الأكبر) وجزاك الله خيرا
Foksh قام بنشر يوليو 12 قام بنشر يوليو 12 41 دقائق مضت, moho58 said: للرفع مشاركة مع معلمي الفاضل .. جرب هذا الاستعلام :- SELECT m.*, i.*, (SELECT COUNT(*) FROM info_stagiere i2 LEFT JOIN modul m2 ON i2.ID = m2.id WHERE i2.annee = i.annee AND i2.grade = i.grade AND i2.wilaya = i.wilaya AND (m2.mouadel_3am > m.mouadel_3am OR (m2.mouadel_3am = m.mouadel_3am AND i2.ID <= i.ID))) AS myoutonum FROM info_stagiere i LEFT JOIN modul m ON i.ID = m.id WHERE i.annee = [Forms]![frm_examen_fin_formation]![annet] AND i.grade = [Forms]![frm_examen_fin_formation]![grade1] AND i.wilaya = [Forms]![frm_examen_fin_formation]![wilaya1] ORDER BY m.mouadel_3am DESC, i.ID ASC;
moho58 قام بنشر يوليو 12 الكاتب قام بنشر يوليو 12 الان, Foksh said: مشاركة مع معلمي الفاضل .. جرب هذا الاستعلام :- SELECT m.*, i.*, (SELECT COUNT(*) FROM info_stagiere i2 LEFT JOIN modul m2 ON i2.ID = m2.id WHERE i2.annee = i.annee AND i2.grade = i.grade AND i2.wilaya = i.wilaya AND (m2.mouadel_3am > m.mouadel_3am OR (m2.mouadel_3am = m.mouadel_3am AND i2.ID <= i.ID))) AS myoutonum FROM info_stagiere i LEFT JOIN modul m ON i.ID = m.id WHERE i.annee = [Forms]![frm_examen_fin_formation]![annet] AND i.grade = [Forms]![frm_examen_fin_formation]![grade1] AND i.wilaya = [Forms]![frm_examen_fin_formation]![wilaya1] ORDER BY m.mouadel_3am DESC, i.ID ASC; السلام عليكم أخي @Foksh مشكور جدا على هذا الرد هل أجعل هذا الاستعلام كمصدر للسجلات في النموذج frm_modul و هل غيرت اسم الجولين
Foksh قام بنشر يوليو 12 قام بنشر يوليو 12 منذ ساعه, moho58 said: هل أجعل هذا الاستعلام كمصدر للسجلات في النموذج frm_modul بالطبع اخي الكريم منذ ساعه, moho58 said: و هل غيرت اسم الجولين كلا ، هذا استعلام فرعي داخل استعلام رئيسي المرفق للتوضيح أكثر baseC4.zip 1
moho58 قام بنشر يوليو 12 الكاتب قام بنشر يوليو 12 الان, Foksh said: بالطبع اخي الكريم كلا ، هذا استعلام فرعي داخل استعلام رئيسي المرفق للتوضيح أكثر baseC4.zip 60.92 kB · 0 downloads بعد التجربة أخي الاستعلام يشتغل جيدا فيما يخص : حساب ترتيب الطالب وكذا حساب مجموع الطلاب في النموذج لكن لا يمكن التعديل على علامات الطلاب في النموذج - إذا ما كان خطأ ما. و بارك الله فيك
Foksh قام بنشر يوليو 12 قام بنشر يوليو 12 24 دقائق مضت, moho58 said: الاستعلام يشتغل جيدا فيما يخص : حساب ترتيب الطالب وكذا حساب مجموع الطلاب في النموذج لكن لا يمكن التعديل على علامات الطلاب في النموذج - إذا ما كان خطأ ما اممممممممم .. طيب جرب هذا التعديل ؟ الإستعلام الأصلي السابق ، وفي حدث في الحالي تعيين قيمة مربع النص الخاص بالترتيب .. baseC5.zip
moho58 قام بنشر يوليو 12 الكاتب قام بنشر يوليو 12 تحية طيبة متجددة أخي @Foksh بعد التجريب في قاعدتي الخلصة المشكلة في المعدل العام أنا جاعل نوع النتيجة تكون مزدوج 😞 فيظهر الخطأ كما في الصورة) لكن لما أحول المعدل العام : إلى عدد صحيح . يشتغل عادي وبدون مشاكل وأنا في قاعدتي الخاصة المعدل العام : لازم تكون مزدوج (يكون بالفاصلة ) ولايمكنني تحويل المعدل العام :إلى عدد صحيح في قاعدتي الخاصة ان شاء الله يكون عندك حل لهذا المشكل وبارك الله فيك
Foksh قام بنشر يوليو 13 قام بنشر يوليو 13 13 ساعات مضت, moho58 said: المشكلة في المعدل العام أنا جاعل نوع النتيجة تكون مزدوج 😞 فيظهر الخطأ كما في الصورة) لكن لما أحول المعدل العام : إلى عدد صحيح . يشتغل عادي وبدون مشاكل وأنا في قاعدتي الخاصة المعدل العام : لازم تكون مزدوج (يكون بالفاصلة ) ولايمكنني تحويل المعدل العام :إلى عدد صحيح في قاعدتي الخاصة لا أعلم طبيعة القاعدة التي تعمل عليها ، ولكن من خلال المرفقات التي يتم التنفيذ عليها ، هذه النتيجة :- فقط انا ما قمت به هو الملف المرفق من أستاذي أبو خليل ، وتنفيذ حدث "في الحالي" باستعمال الكود هذا ( مع تغيير اسم مربع النص ) :- Private Sub Form_Current() Dim strSQL As String If Not IsNull(Me.ID) Then strSQL = "SELECT COUNT(*) FROM (" & _ "SELECT modul.mouadel_3am FROM info_stagiere " & _ "LEFT JOIN modul ON info_stagiere.ID = modul.id " & _ "WHERE info_stagiere.annee='" & [Forms]![frm_examen_fin_formation]![annet] & "' " & _ "AND info_stagiere.grade='" & [Forms]![frm_examen_fin_formation]![grade1] & "' " & _ "AND info_stagiere.wilaya='" & [Forms]![frm_examen_fin_formation]![wilaya1] & "'" & _ ") WHERE mouadel_3am >= " & Me.mouadel_3am Me.txt_myoutonum = CurrentDb.OpenRecordset(strSQL)(0) End If End Sub وهذا الملف بعد التطبيق عليه الذي ارفقه معلمي ابو خليل سابقاً baseC4.zip
moho58 قام بنشر يوليو 13 الكاتب قام بنشر يوليو 13 تحية طيبة أخي @Foksh القاعدة الأصلية التي أعمل عليها مشابهة لهذه تقريبا فقط اختصرت بعض الحقول - المبدأ العام هكذا فقط قمت بتغيير : حجم الحقل - التنسيق - المنازل العشرية * كما في الصورة المرفقة 1 * ليصبح بنفس ما هو ما جود في القاعدة الأصلية * المشكل مزال يظهر كما في الصورة المرفقة 2 لو سمحت أرفقت القاعدة المعدلة للتجريب عليها(للمرة الأخيرة حتى لا أثقل عليك أشغلك كثيرا فقط بهذا الموضوع ) وإن اشتغلت عندك فالمشكل على مستواي فجزاك الله كل الخير أخي ,استاذنا @Foksh -آميـــــــن كما أتوجه بالشكر والإمتنان لمعلمنا الجليل @ابوخليل جزاه الله كل الخير - آميــــــن baseM10.accdb
moho58 قام بنشر يوليو 13 الكاتب قام بنشر يوليو 13 2 ساعات مضت, Foksh said: أمر محير حقا ممن المشكل في لغة نسخة الأوفيس فأنا عندي نسخة 2016 عربية
Foksh قام بنشر يوليو 13 قام بنشر يوليو 13 10 دقائق مضت, moho58 said: فأنا عندي نسخة 2016 عربية النسخة اللي عندي 2019 انجليزية = 64 بت
moho58 قام بنشر يوليو 14 الكاتب قام بنشر يوليو 14 (معدل) في 13/7/2025 at 21:51, Foksh said: النسخة اللي عندي 2019 انجليزية = 64 بت تحية طيبة أخي والله بحث وحاولث كثيرا. طبعا حسب مستواي عند تحويل حقل mouadel_3am إلى عدد صحيح يشتغل وبدون مشاكل أخي هل ممكن تغيير الكود التالي نهائيا أو إدخال تعديلات عليه : Dim strSQL As String If Not IsNull(Me.ID) Then strSQL = "SELECT COUNT(*) FROM (" & _ "SELECT modul.mouadel_3am FROM info_stagiere " & _ "LEFT JOIN modul ON info_stagiere.ID = modul.id " & _ "WHERE info_stagiere.annee='" & [Forms]![frm_examen_fin_formation]![annet] & "' " & _ "AND info_stagiere.grade='" & [Forms]![frm_examen_fin_formation]![grade1] & "' " & _ "AND info_stagiere.wilaya='" & [Forms]![frm_examen_fin_formation]![wilaya1] & "'" & _ ") WHERE mouadel_3am >= " & Me.mouadel_3am Me.m = CurrentDb.OpenRecordset(strSQL)(0) لعل العملية تنجح ان شاء الله وبارك الله فيك لاني بحاجة ماسة لهذا الطلب baseM11.accdb تم تعديل يوليو 14 بواسطه Foksh استخدام مقتبس الأكواد <>
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان