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

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

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

السلام عليكم اخوتي الكرام
 

   . لدي تقرير به حقول للدرجات

عدد الحقول 11 حقل 

  كيف اقوم بحساب المعدل حتى لو كانت نصف الحقول فارغة

او كلها تحتوي على درجات 

مثلا مرات توجد خمس مواد مدرجة ونريد المعدل  ومرات اخرى توجد 11 مادة مدرجة ونريد المعدل 

 

معدلي.JPG

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

السلام عليكم

اخي العزيز

اذا كان قصدك يكون الجمع بصورة افقية للحقول  (لنفترض ان لك حقلين باسم  k و  m وكان لديك حقل فارغ  null  (الدالة nz  تعيد قيمة الحقل الفارغ الى صفر)

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

=Nz(([m]);0)+Nz(([k]);0)

تحياتي

تم تعديل بواسطه Khalid Jnb
قام بنشر (معدل)
9 minutes ago, Khalid Jnb said:

السلام عليكم

اخي العزيز

اذا كان قصدك يكون الجمع بصورة افقية للحقول  (لنفترض ان لك حقلين باسم  k و  m وكان لديك حقل فارغ  null  (الدالة nz  تعيد قيمة الحقل الفارغ الى صفر)

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


=Nz(([m]);0)+Nz(([k]);0)

تحياتي

عزيزي استاذ خالد 

ممنون لردك 

المجموع ماعندي مشكلة فيه 

المشكلة ايجاد المعدل علما ان التقرير ياخذ معلوماته من نموذج مستقل ولايرتبط بجدول 

وعدد الحقول يختلف في بعض الاحيان 

 

استاذ خالد المحترم 

هل توجد صيغة لايجاد عدد الحقول التي تحتوي على درجات حتى نستطيع ايجاد المعدل من خلالها

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

اخي العزيز

كان من الافضل ارفاق مثال او ملفك لغرض التعديل 

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

حساب عدد الحفول
=Count(*)
ومن ثم جمع وقسمه حتى لو كانت عدد من الحقول فارغة  
=Nz(Sum([الدروس]);0)/[عدد الحقول]

انظر للملف المرفق

تحياتي

 

test.rar

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

عزيزي استاذ خالد 

هذه الفكرة لاتنجح معي لان جدول التقرير مرسوم  وبداخل الحقول يوجد 11 مربع على عدد الحقول 

مرفق صورة لحقول النموذج التي هي اصلا عبارة عن حقول مرسومة بداخلها 11 مربع نص

حقول نموذج.JPG

قام بنشر

بعد اذن أ/ خالد :

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

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

ضع مربع نص مثلا اسمه avtext داخل النموذج
وقبل فتح التقرير مباشرة ضع الكود

Dim ctl As Control
Dim C, v As Integer
For Each ctl In Me.Controls
    If ctl.ControlType = acTextBox Then              ' check text box only
        If ctl.name Like "m*" Then			' check if text box name start with m
          If Nz(ctl.Value, "") <> "" Then		  ' check if text box not empty
             v = v + ctl.Value				' value counter
             C = C + 1				     ' number counter
          End If
       End If
    End If
Next ctl
avtext = v / C

 

  • Like 3
قام بنشر
4 minutes ago, Gamal.Saad said:

بعد اذن أ/ خالد :

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

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

ضع مربع نص مثلا اسمه avtext داخل النموذج
وقبل فتح التقرير مباشرة ضع الكود


Dim ctl As Control
Dim C, v As Integer
For Each ctl In Me.Controls
    If ctl.ControlType = acTextBox Then              ' check text box only
        If ctl.name Like "m*" Then			' check if text box name start with m
          If Nz(ctl.Value, "") <> "" Then		  ' check if text box not empty
             v = v + ctl.Value				' value counter
             C = C + 1				     ' number counter
          End If
       End If
    End If
Next ctl
avtext = v / C

 

استاذ جمال 

حياك الله 

لم افهم معنى قبل فتح التقرير 

مكن توضيح 

رحم الله والديك 

قام بنشر

وبارك فيك أخي الكريم وفي الاستاذ خالد وتقبل منكم صالح الاعمال
لكن لي استفسار بسيط : لماذا التكرار في هذه الاسطر ؟ حيث أرى أنها متشابهة تمامافإن كانت كذلك

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

Me.a1.Caption = "100"
Me.s1.Caption = "50"
 Me.a2.Caption = "100"
 Me.s2.Caption = "50"
 Me.a3.Caption = "100"
Me.s3.Caption = "50"
 Me.a4.Caption = "100"
 Me.s4.Caption = "50"
 Me.a5.Caption = "100"
 Me.s5.Caption = "50"
 Me.a6.Caption = "100"
 Me.s6.Caption = "50"
 Me.a7.Caption = "100"
 Me.s7.Caption = "50"
 Me.a8.Caption = "100"
 Me.s8.Caption = "50"
 Me.a9.Caption = "100"
 Me.s9.Caption = "50"
 Me.a10.Caption = "100"
 Me.s10.Caption = "50"
 Me.a11.Caption = "100"
 Me.s11.Caption = "50"

 

  • Like 1
قام بنشر
11 minutes ago, Gamal.Saad said:

وبارك فيك أخي الكريم وفي الاستاذ خالد وتقبل منكم صالح الاعمال
لكن لي استفسار بسيط : لماذا التكرار في هذه الاسطر ؟ حيث أرى أنها متشابهة تمامافإن كانت كذلك

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


Me.a1.Caption = "100"
Me.s1.Caption = "50"
 Me.a2.Caption = "100"
 Me.s2.Caption = "50"
 Me.a3.Caption = "100"
Me.s3.Caption = "50"
 Me.a4.Caption = "100"
 Me.s4.Caption = "50"
 Me.a5.Caption = "100"
 Me.s5.Caption = "50"
 Me.a6.Caption = "100"
 Me.s6.Caption = "50"
 Me.a7.Caption = "100"
 Me.s7.Caption = "50"
 Me.a8.Caption = "100"
 Me.s8.Caption = "50"
 Me.a9.Caption = "100"
 Me.s9.Caption = "50"
 Me.a10.Caption = "100"
 Me.s10.Caption = "50"
 Me.a11.Caption = "100"
 Me.s11.Caption = "50"

 

استاذي الفاضل 

هذه لاحاجة لي بها وتركتها غير مرئية 

شكرا لتفضلك بالاجابة 

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

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