obaid70 قام بنشر نوفمبر 15, 2023 قام بنشر نوفمبر 15, 2023 السلام عليكم وجدت هذا الملف في منتدانا العزيز وقمت بالتعديل عليه وفق حاجتي وهو مثال رائع للاستاذ عبد الفتاح كيرة أرجو من الاخوة الخبراء التعديل على الكود بحيث عند وجود درجة في نهاية الاختيار مشابهة للدرجة التي شملها الاختيار وفق العدد المحدد الموضوع في الاعلى ان يضم كل العلامات المتساوية ويضع حرف f امامها بشكل تلقائي كما في الصور العدد المطلوب هو 16 وآخر درجة وقف عندها الاختيار هي 10 لكن يوجد بعد هذه العلامة طالبين لهما نفس الدرجة فيجب ضمها الى الاختيار ووضع حرف f عذرا على الاطالة test1.accdb
عمر ضاحى قام بنشر نوفمبر 15, 2023 قام بنشر نوفمبر 15, 2023 يعنى انت عاوز تقول لو الدرجة اعلى من 16 يكتب F ؟ طيب لو اقل من 16 يعمل ايه ؟
obaid70 قام بنشر نوفمبر 15, 2023 الكاتب قام بنشر نوفمبر 15, 2023 اولا شكرا على الرد السريع اخي الكريم 16 هي عدد الطلاب المراد اختيارهم وليس درجة يعني عند وضع العدد 16 سوف يقوم البرنامج باختيار 16 طالب ووضع حرف f في الحقل رقم القاعة فكانت النتيجة ان آخر طالب درجته 10 المطلوب ان يختار كل الطلاب الذين لديهم درجة 10 ووضع حرف f في المثال الوارد في الصور يصبح عدد الطلاب 18 طالبا لديهم حرف f
عمر ضاحى قام بنشر نوفمبر 15, 2023 قام بنشر نوفمبر 15, 2023 جرب الكود هذا Dim db As DAO.Database Dim rs As DAO.Recordset Dim xNUMBER As Double Set db = CurrentDb Set rs = db.OpenRecordset("T1", dbOpenDynaset) xNUMBER = mh1.Value Do While Not rs.EOF If rs!daraja >= xNUMBER Then rs.Edit rs!CurrFasl = "F" rs.Update Else rs.Edit rs!CurrFasl = "" rs.Update End If rs.MoveNext Loop rs.Close Set rs = Nothing db.Close Set db = Nothing MsgBox "DONE" Me.Form.Requery
obaid70 قام بنشر نوفمبر 15, 2023 الكاتب قام بنشر نوفمبر 15, 2023 جزاكم الله الف خير لكن يوجد مشكلة في الكود عندما اخترت 12 طالب تجاوز المطلوب واخذ علامة 15 والمفروض يقف عند آخر علامة 20
عمر ضاحى قام بنشر نوفمبر 15, 2023 قام بنشر نوفمبر 15, 2023 ده لانك كاتب 12 وهو بيختار حسب الدرجات يعنى كل ال درجاتهم بتساوي 12 او اكبر هيختارهم
obaid70 قام بنشر نوفمبر 15, 2023 الكاتب قام بنشر نوفمبر 15, 2023 اخي الكريم جزاك الله الف خير على المتابعة لكن عندك اشكالية في الموضوع الرقم 12 هو عدد الطلاب وليس له علاقة بالدرجات انا اريد 12 طالب لكن اذا كان هناك تماثل او تساوي في اخر درجة يتم اختيار الطلاب الذين لهم نفس الدرجة الاخيرة ويضمهم الى قائمة الاختيار ارجو ان تكون وضحت الفكرة قمت بتعديل الصورة للتوضيح وألف شكر لجهودك ما قمت به ممتاز جدا لكن كان يجب ان يقف التوزيع عند آخر علامة 20 ولا يأخذ الطالب الذي علامته 15
عمر ضاحى قام بنشر نوفمبر 15, 2023 قام بنشر نوفمبر 15, 2023 جرب الكود ده Dim db As DAO.Database Dim rs As DAO.Recordset Dim recordCount As Integer Dim updateCount As Integer Dim xNUMBER As Double Set db = CurrentDb Set rs = db.OpenRecordset("t1", dbOpenDynaset) xNUMBER = mh1.Value Do While Not rs.EOF If rs!daraja > 0 Then If updateCount < 12 Then rs.Edit rs!CurrFasl = "F" rs.Update updateCount = updateCount + 1 Else Exit Do End If End If rs.MoveNext Loop rs.Close Set rs = Nothing db.Close Set db = Nothing
obaid70 قام بنشر نوفمبر 15, 2023 الكاتب قام بنشر نوفمبر 15, 2023 بعرف اني تعبت معي سامحني الكود يجب ان ينظر الى درجة آخر طالب وقع ضمن الاختيار فإذا وجد بعده طالب له نفس الدرجة يدخل ايضا ضمن الاختيار اخي الكريم لاحظ الصورة الاولى قبل تعديل الكود اخترت 3 طلاب فكانت درجة الطالب الثالث هي 30 لكن يوجد 7 طلاب ايضا لهم نفس الدرجة وهي 30 فالمطلوب اضافتهم الى المجموعة ووضع حرف f لهم بسبب تماثل الدرجة فتكون النتيجة كما في الصورة الثانية مرة اخرى سامحني عزبتك معي لكني مضطر لهذا الكود فجزاكم الله ألف خير
عمر ضاحى قام بنشر نوفمبر 15, 2023 قام بنشر نوفمبر 15, 2023 بص انا تهت منك اكتبلى الشروط بتعتك رياضيا وانا انفذ لان كده عندي احساس غيرب ان فى حاجه غلط (او انا مش فاهمك) يعنى اكتبلى الشروط بشكل كامل وواضح قدر الامكان انت عاوز عدد ولا عاوز درجات وعموما هحاول اجرب فكره ثانية يمكن تنفع لحد ما ترد 1
obaid70 قام بنشر نوفمبر 15, 2023 الكاتب قام بنشر نوفمبر 15, 2023 الله يطولي بعمرك محتاج هالموضوع اليوم انا رح اشرحلك مرة تانية انا بدي اختار3 طلاب بحط رقم 3 فوق بمربع قاعة رقم 1 ماشي؟ بضغط ع زر ابدأ التوزيع فبيختار اول 3 طلاب الشرط هوا لما اختارلي 3 طلاب كانت علامة آخر واحد 30 بس في بعدو طلاب الهم نفس العلامة 30 بدياهم ضمن القاعة يعني في هاي الحالة لازم ياحد كلشي علامتو 30 ويحط حرف f الهم
أفضل إجابة kanory قام بنشر نوفمبر 15, 2023 أفضل إجابة قام بنشر نوفمبر 15, 2023 (معدل) 5 ساعات مضت, obaid70 said: انا بدي اختار3 طلاب بحط رقم 3 فوق بمربع قاعة رقم 1 ماشي؟ بضغط ع زر ابدأ التوزيع فبيختار اول 3 طلاب الشرط هوا لما اختارلي 3 طلاب كانت علامة آخر واحد 30 بس في بعدو طلاب الهم نفس العلامة 30 بدياهم ضمن القاعة يعني في هاي الحالة لازم ياحد كلشي علامتو 30 ويحط حرف f الهم مشاركة مع الغالي @عمر ضاحى جرب واعلمنا بالنتيجة <><><><><><><><><> DoCmd.GoToRecord , , acFirst For i = 1 To Me.mh1 kan = "" If Me.daraja <> "" Then Me.CurrFasl = "F" kan = Me.daraja End If DoCmd.GoToRecord , , acNext Next i For ii = 1 To Me.Recordset.RecordCount If Me.daraja = kan Then Me.CurrFasl = "F" DoCmd.GoToRecord , , acNext End If Next ii MsgBox "لقد تم بنجاح", vbOKOnly تم تعديل نوفمبر 15, 2023 بواسطه kanory 2
obaid70 قام بنشر نوفمبر 16, 2023 الكاتب قام بنشر نوفمبر 16, 2023 جزاكم الله ألف ألف خير هذا هو المطلوب تماما شكرا استاذنا kanory متعكم الله بالصحة والعافية وجعله في ميزان حسناتكم والشكر موصولا للاستاذ عمر ضاحي جزاكم الله ألف خير
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.