اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

بسم الله الرحمن الرحيم

سلام علكيم ورحمة الله

أيها الأحبة

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

البرنامج قارب أن يكتمل ولكن واجهتني مشكلة وهي ما يلي ...

كما ترون في واجهة المبرنامج المطلوب إنشاء استعلام يقوم بالحساب التالي :ـ

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

المحكم الأول : 90

المحكم الثاني : 95

المحكم الثالث : 80

المحكم الرابع : 55

المطلوب من البرنامج أن يحذف أعلى درجة وهي 95 وأدنى درجة وهي 55 وثم جمع 90+80 ثم القسمة على 2.

ومن ثم تظهر النتيجة في خانة حذف الطرفين.

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

والله يرعاكم

d0cfd81f58.jpg

su_2007_4.rar

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

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

في حدث عند الحالي او On Current لنموذجك ضع الكود التالي:

كود
With Me
        If .g1 > .g2 And .g1 > g3 And .g1 > g4 Then
             Me.maxg = Me.g1
        ElseIf .g2 > .g1 And .g2 > .g3 And .g2 > g4 Then
             Me.maxg = Me.g2
        ElseIf .g3 > .g1 And .g3 > .g2 And .g3 > g4 Then
            Me.maxg = Me.g3
            Else
            Me.maxg = Me.g4
        End If
    End With
    With Me
        If .g1 < .g2 And .g1 < g3 And .g1 < g4 Then
             Me.ming = Me.g1
        ElseIf .g2 < .g1 And .g2 < .g3 And .g2 < g4 Then
             Me.ming = Me.g2
        ElseIf .g3 < .g1 And .g3 < .g2 And .g3 < g4 Then
            Me.ming = Me.g3
            Else
            Me.ming = Me.g4
        End If
    End With
    Select Case Me!Frame14
     Case 1
            Me!result = (Nz(Me.g1 + Me.g2 + Me.g3 + Me.g4) - Nz(Me.Text6 + Me.Text8)) / 2
    Case 2
            Me!result = Nz(Me.g1 + Me.g2 + Me.g3 + Me.g4) / 4
    Case Else
    Me!result = 0
    End Select

طبعا قم بمسح مصدر السجل لكلا الحقلين(اعلى درجه و اقل درجه) لعدم الحاجه لتخزين قيم قد تتحدث من وقت الى اخر واجعلها unbound
تاكد من تغيير مسمى مجمع الخيارات "إطار /إطار محيط69" الى" Frame14"

ثم في حدث بعد التغيير او after update للاطار Frame14 (طبعا هذا لتحديد احتساب النتيجه اما بحذف اكبر و اصغر درجه او المعدل)
ضع الكود التالي

كود
Select Case Me!Frame14
     Case 1
            Me!result = (Nz(Me.g1 + Me.g2 + Me.g3 + Me.g4) - Nz(Me.Text6 + Me.Text8)) / 2
    Case 2
            Me!result = Nz(Me.g1 + Me.g2 + Me.g3 + Me.g4) / 4
     Case Else
     Me!result = 0
    End Select

MaxMinAvg.zip

تم تعديل بواسطه أبا عمر
قام بنشر

حياك الله أخي الكريم ...

أسأل الله أن يجعل ما تقوم به في ميزان حسناتك ...

وأنا في الوقت المقبل أي بعد عيد الحج إن شاء الله لدي مسابقة تحيكم للقرآن الكريم على مستوى عال ...

ولقد حاولت التعديل على ذكرت لي سابقًا لكن لم أتوصل إلى النتيجة المطلوبة...

فآمل منك وفقك الله التعاون معي لإنجاز هذا العمل ... حيث ان ما ذكرت لك سابقًا هو العقبة الوحيدة لدي ...

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

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

ودمتم في رعاية الله

قام بنشر

اخوي حامل المسك

ما فهمت عليك الله يحفظك!!

هل جربت الكود ام لا؟؟

الكود جاهز بس عدل اسم المربع الي يوجد به الخيارين "المعدل" و "حذف اكبر قيمه و اصغر قيمه"

انا لم لم يعمل البرنامج عندي لوجود النسخه الانجليزيه عندي و لستخدامك اللغه العربيه في كثير من الاحيان

و انا ان شاء الله اساعدك بالي اقدر عليه

قام بنشر

جزاك الله كل خير نعم عرفت مكمن خطأي عندما وضعت الكود وتم تعديله ...

ولكن بقي مسألة التقدير هل يمكن أن تبرمج بحيث تكون تبعًا للدرجة فمثلا من 89.5 إلى 100 ممتاز & 75إلى 89.4 جيد جدا ومن 60 إلى 74.4 جيد وما دونها رااسب.

الحقيقة لا أملك إلا الدعاء لك بظهر والغيب والله يرعاك

محبك /// حامل المسك

قام بنشر

حياك الله اخوي

بالنسبه الى التقدير النهائي الموجود في برنامجك وهو على شكل ازرار اختيار او Option buttons
ولكن هو ليس كما طلبت فقم انا بعمل مربع يحتوي على اربع ازرار حسب طلبك ، ممتاز،جيدجدا..... و اسم هذا المربع هو Frame32
ويجد به اربع ازرار اقيامها مرتبه من 1 الى 4 (طبعا الترتيب مطلوب). 1 ل ممتاز ، 2 جيدي جدا .....

طبع يمكنك مشاهده هذه القيم من خصائص كل زر موجود بالمربع بمجرد الضغط على الزر
طبعا اسم المربع الذي يظهر الدرجه اما بحذف اعلى و اقل درجه او حساب المعدل اسمه text30 وهذا موجود سابقا في النموذج الي ارفقته(يجب تعديل اسمه حسب ماهو موجود لديك)
في حدث النموذج عند الحالي او On current

قم باضافه الكود التالي و لاتمسح الكود القديم

كود
Select Case Me.Text30
    Case 89.5, Is > 89.5
        Me.Frame32 = 1
    Case 75, Is > 75
        Me.Frame32 = 2
    Case 60, Is > 60
        Me.Frame32 = 3
    Case 60, Is < 60
        Me.Frame32 = 4
    Case Else
    Me.Frame32 = 1
End Select

خطوه اخيره لقفل هذا المربع وعدم التحكم فيه الا من خلال تغير الدرجه هو
من خصائص
المربع Frame32 قم بقفله من بيانات>قفل =نعم

استخدم الملف المرفق وعدل اسماء مربع النص و مربع الخيارات حسب ماهو موجدو لديك

تواجدي في المنتدى من السبت الى الاربعاء من الساعه السابعه صباحا حتى السابعه مساء

كما امل وضع جميع الاسئله مره واحده ليتم الاجابه عليها لضيق الوقت قبل اجازه الحج

MaxMinAvg__2_.zip

قام بنشر

جزاك الله خير الجزاء

أخي الكريم عذرًا على الإزعاج رعاك الله

ظهر لدي إشكالية وهي أن المحكمين أحيانًا يكونون ثلاثة بدل أربعة فهل يمكن برمجة البرنامج ليقوم بهذه المهمة وتوضيح ذلك

أن البرنامج يحتوي على أربعة محكمين ويقوم باستخراج المعدل بناء على ذلك ...

لكن لو كان عدد المحكمين ثلاثة فإنه يقسم على أربعة والمطلوب أن يقسم على ثلاثة ، وكذلك إذا كان عدد المحكمين اثنين فإنه يقسم على اثنين وليس أربعة ،فهل يمكن عمل ذلك ...

أسأل الله أن يكتب لك الأجر والمثوبة

قام بنشر

اخوي حامل المسك

قم بتحميل الملف المرفق ثم قم باستيراد الوحدات النمطيه الى قاعد بياناتك عن طريق التالي:

من علامه التبويب اختر External Date او استيراد بيانات خارجيه

ثم حدد القاعده التي في المرفقات بعد انزالها ثم اختر الوحدات النمطيه الثلاث منها

بعد ذلك اذهب الى الاحداث من خصائص النموذج و واحداث المربعات g1 و g2 و g3 و g4 و احداث مربع الخيارات"طريقه احتساب النتيجة"Frame14 و حدث مربع النص "النتيجه" وحدث مربع الخيارات "التقدير النهائي"Frame32

قم بنسخ الكود وضعه كلا حسب موقعه

طبعا القاعده المرفقه مشابهه لقاعدتك

هناك امر اخر وهو في حاله وجود محكمين و تم اختيار حذف الطرفين فان النتيجه سوف تكون صفر

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

MaxMinAvg__3_.zip

قام بنشر

وفقكم الله

قمت بتعديل البرنامج وإضافة له بعض الإضافات وهي على النحو التالي :ـ

أضفت1) stdivision وهي تعني الفرع المشارك فيه الطالب.

2) sjll وهذا السجل المدني للطالب.

3) A تعني نعم لا.( أي تم ترشيح الطالب أم لا )

4) result النتيجة.

أخي الكريم وفقكم الله لطاعته في هذه الأيام المباركة ...

المطلوب

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

ومثال ذلك ..

أحمد محمد رقم السجل 123 الفرع الأول نعم يرشح.

فهذا الطالب لا يمكن تسجيله مرة أخرى في نفس الفرع لأنه ترشح فيه سابقُا

أما إذا كان سعيد علي رقم السجل 456 الفرع الخامس لا يرشح فإنه يسمع بتكراره مرة أخرى وأخرى في نفس الفرع .

كما أتمنى أن يقوم البرنامج بوضع نتيجة كل طالب في خانة result

أخي الكريم إني والله استحيي منك ففضائلك علينا كثيرة بعد فضل الله

وفقكم الله ورعاك

MaxMinAvg3.rar

قام بنشر
السلام عليكم ورحمة الله وبركاته

اخي حامل المسك

تحميل الملف ولم يفتح لديه ماهو سباب

اخوي

هذا ملف اوفيس 2007 وليس 2003

تاكد من وجود 2007 لديك

قام بنشر

اخوي حامل المسك

السلام عليكم ورحمه الله وبركاته

عيدك مبارك وكل عام وانت بخير

حسب طلبك الاخير

في حدث قبل التحديث للحقل sjll او before update قم بوضع الكود التالي :

كود
Private Sub sjll_BeforeUpdate(Cancel As Integer)
Const conMESSAGE = "هذا الطالب اجتاز الامتحان ولا يمكن تسجيله مره اخرى."
    Dim strCriteria As String
    
  
    strCriteria = "sjll = " & Me.sjll & " And A"
    If Not IsNull(DLookup("sjll", "Students", strCriteria)) Then
        MsgBox conMESSAGE, vbExclamation, "Invalid operation"
        Cancel = True
    Else
      
        strCriteria = "sjll = " & Me.sjll
        If DCount("*", "Students", strCriteria) = 2 Then
            MsgBox conMESSAGE, vbExclamation, "Invalid operation"
            Cancel = True
        End If
    End If

اما بالنسبه لنتيجه

لايوجد حاجه لتخزينها حيث انها تحسب تلقائيا وتتحدث لذلك لايوجد حاجه لتخزينالنتيجه في حقل

و ارجوا ان تضع جميع المتطلبات مره واحده لكي لا يحدث تعارض بين الاكواد فيتم التاخير و اعاده العمل من جديد
 

MaxMinAvg_4_.zip

قام بنشر

وعليكم السلام ورحمة الله وبركاته

وكل عام وأنت بخير

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

سوف أقوم بدارسة وافية للبرنامج وأوافيك بها في وقت لاحق

رعاك الله ولا حرمك الأجر

  • 5 years later...

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