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

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

قام بنشر

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

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

عند فتح المرفق يظهر نموذج عند الضغط علي تقارير ثم نختار الفصل الدراسي ( مثلا : الفصل الدراسي الأول )  ثم الفئة ( صفوف دنيا ) ثم الصف ( الأول ) ثم نضغط علي زر كشف تظهر النتيجة في التقرير

محتاج أعمل إحصاء في التقرير (ناجح  - باجحة - له برنامج علاجي - لها برنامج علاجي )

 

Database33_2.rar

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

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

اعذرني على مداخلتي عن الحل ، ولكن لتتبسط الأمور ، واعتبرني كشخص يقرأ الموضوع وغير متطلع على سوابق الخطوات التي سرت بها مع المعلم أبو خليل ..

11 دقائق مضت, 2saad said:

محتاج أعمل إحصاء في التقرير (ناجح  - باجحة - له برنامج علاجي - لها برنامج علاجي )

 

لم تذكر بناءً على ماذا ، وكيف ، وما هي الأسس التي عليها سيتم الإحصاء ؛ أو حتى توضيح أي نقطة من هذا القبيل 😅 .

أنا أفكر معك بصوت عالٍ فقط ، ومتمنياً أن استطيع تقديم المساعدة مع الزملاء والأساتذة :smile: .

 

فمثلاً هذه الصورة الناتجة من التقرير ..

image.png.e8dd09dc12444ac48b6e44cc022ba318.png

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

شكرا أخي الفاضل

أنا عايز اعمل إحصاء بناء علي حالة التلميذ في هذا التقرير

كم عدد ناجح - كم عدد ناجحة - كم عدد له برنامج علاجي - كم عدد لها برنامج علاجي

انظر الصورة

image.png.c2923b7dd11fbedfc1f5dd2f20f8cbc4.png

  • تمت الإجابة
قام بنشر (معدل)

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

أول شي بدنا نحجز متغيرات عامة في بداية التقرير للقيم اللي محتاجها ( ناجح ، ناجحة .. إلخ ) ، كالآتي :-

Dim cntNag7 As Long '= ناجح
Dim cntNag7a As Long  '= ناجحة
Dim cnt3elagy As Long  '= له برنامج علاجي
Dim cnt3elagyF As Long  '= لها برنامج علاجي

وبعدين بدنا نخلي القيم هاي للمتغيرات = 0  لما التقرير يفتح :biggrin: :-

Private Sub Report_Open(Cancel As Integer)
    cntNag7 = 0
    cntNag7a = 0
    cnt3elagy = 0
    cnt3elagyF = 0
End Sub

وعلشان ما نخرب اي شي تاني كمان ، وخصوصاً في حدث Detail_Format ، رح نضيف في نهاية الكود ( قبل End Sub طبعاً ) الكود البسيط التالي :-

Select Case Me.hala
    Case "ناجح"
        cntNag7 = cntNag7 + 1
    Case "باجحة"
        cntNag7a = cntNag7a + 1
    Case "له برنامج علاجي"
        cnt3elagy = cnt3elagy + 1
    Case "لها برنامج علاجي"
        cnt3elagyF = cnt3elagyF + 1
End Select

علشان لو حبيت تستخدمة في تقرير تاني بقيم تانية ، تقدر تعدل على كيفك ..

المهم وفي آخر خطوة في الحديث ReportFooter_Format ، رح نحدد قيم المتغيرات هاي لمربعات النص اللي رح يتم ادراج القيم العددية ( الإحصاء ) فيها ، كالآتي :-

Private Sub ReportFooter_Format(Cancel As Integer, FormatCount As Integer)
    Me.Tx01 = cntNag7
    Me.Tx02 = cntNag7a
    Me.Tx03 = cnt3elagy
    Me.Tx04 = cnt3elagyF
End Sub

 

طبعاً مربعات النص انا افترضت اسماء لها من عندي ، وفي المرفق التالي التطبيق ، جربه

 

Database33.zip

تم تعديل بواسطه Foksh
  • Like 1
قام بنشر

الله ينور علي حضرتك

وبارك الله فيك وفي الأستاذ الفاضل أبو خليل

وفيكم جميعا

وكمان الأب الفاضل ( أبو خليل ) أثني علي حضرتك

ملحوظة : علشان لو حد من الأخوة بيتابعنا علشان يستفيد من سلاسل الذهب هذه

يغير كلمة باجحة                            ناجحة

image.png.d522490b80d49b1e23250baba8803fcc.png

قام بنشر
42 دقائق مضت, Foksh said:

أول شي بدنا نحجز متغيرات عامة في بداية التقرير للقيم اللي محتاجها ( ناجح ، ناجحة .. إلخ ) ، كالآتي :-

Dim cntNag7 As Long '= ناجح
Dim cntNag7a As Long  '= ناجحة
Dim cnt3elagy As Long  '= له برنامج علاجي
Dim cnt3elagyF As Long  '= لها برنامج علاجي

 

ايضا  يمكنك الاعلان عن هذه في الوحدة النمطية العامة من اجل ما تكررها في كل تقرير

وتستبدل    Dim  بـــ  Public

قام بنشر
16 دقائق مضت, ابوخليل said:

 سلمت أناملك ..:fff:

العفو استاذي ومعلمي الفاضل..

12 دقائق مضت, 2saad said:

ملحوظة : علشان لو حد من الأخوة بيتابعنا علشان يستفيد من سلاسل الذهب هذه

يغير كلمة باجحة                            ناجحة

image.png.d522490b80d49b1e23250baba8803fcc.png

كلامك في محله ، وكنت في صدد تعديلها ولكن للأمانه انشغلت ،،

 

4 دقائق مضت, ابوخليل said:

ايضا  يمكنك الاعلان عن هذه في الوحدة النمطية العامة من اجل ما تكررها في كل تقرير

وتستبدل    Dim  بـــ  Public

كلام سليم ومنطقي وفكرة أجمل 😇

قام بنشر
17 دقائق مضت, 2saad said:

 

وكمان الأب الفاضل ( أبو خليل ) أثني علي حضرتك

 

لا .. لا .. انا اثنيت على الحل

استاذنا ومعلمنا  اخي العزيز @Foksh نتعلم منه

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

  

1 ساعه مضت, 2saad said:

بعد إذن حضرتك لو حبيت انقل  هذه الإحصائيات لرأس التقرير ماذا افعل ؟؟

سؤال جميل ، طبعاً انت عارف انه يتم قراءة رأس التقرير أولاً وبالتالي لا يمكن جلب القيم كما نريدها ( كما كانت في السابق ) ، لذا سيتم تغيير الفكرة الى التالي ..

أولاً تم نقل المتغيرات من الخاص الى العام في مديول منفرد ( فكرة معلمي @ابوخليل )

Public cntNag7 As Long    ' ناجح
Public cntNag7a As Long   ' ناجحة
Public cnt3elagy As Long  ' له برنامج علاجي
Public cnt3elagyF As Long ' لها برنامج علاجي

ثانياً تعديل كود التقرير الى التالي :-

Private Sub Report_Open(Cancel As Integer)
    cntNag7 = 0
    cntNag7a = 0
    cnt3elagy = 0
    cnt3elagyF = 0
    
    Dim rs As DAO.Recordset
    Dim strSQL As String
    
    strSQL = "SELECT DISTINCT id_student, gender, alsaf_Id FROM qry_master WHERE rmz=1"
    
    Set rs = CurrentDb.OpenRecordset(strSQL)
    
    If rs.RecordCount = 0 Then
        rs.Close
        Set rs = Nothing
        Exit Sub
    End If
    
    Do While Not rs.EOF
        Dim total1 As Double, tot_All As Double, cntRsob As Integer
        Dim hala As String
        
        total1 = DSum("mgmo1", "qry_master", "id_student=" & rs!id_student & " AND rmz=1")
        
        tot_All = DSum("Darajh", "Tbl_materil_Detail", "saf_No=" & rs!alsaf_Id & " AND rmz=1")
        
        cntRsob = Nz(DCount("*", "qry_master", "id_student=" & rs!id_student & " AND rmz2=1 AND madaNum<>15 AND mgmo1<50"), 0)
        
        hala = funResult_A(CDbl(total1), CDbl(tot_All), CInt(cntRsob), CStr(rs!gender))
        
        Select Case hala
            Case "ناجح"
                cntNag7 = cntNag7 + 1
            Case "ناجحة"
                cntNag7a = cntNag7a + 1
            Case "له برنامج علاجي"
                cnt3elagy = cnt3elagy + 1
            Case "لها برنامج علاجي"
                cnt3elagyF = cnt3elagyF + 1
        End Select
        
        rs.MoveNext
        If rs.EOF Then Exit Do
    Loop
    
    rs.Close
    Set rs = Nothing
    
    DoCmd.Maximize
End Sub

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    On Error Resume Next
    Dim tot_All As Double, cntRsob As Integer
    
    Me.total1 = DSum("mgmo1", "qry_master", "id_student=" & [id_student] & " and rmz=1")
    tot_All = DSum("Darajh", "Tbl_materil_Detail", "saf_No=" & [alsaf_Id] & " and rmz=1")
    cntRsob = Nz(DCount("mgmo1", "qry_master", "id_student=" & [id_student] & " and rmz2=1" & " and madaNum<>15" & " and mgmo1<50"), 0)
    
    Me.alnesbah = funNesbah(CDbl(Me.total1), CDbl(tot_All))
    Me.tgyeem1 = funTgyemResult_A(CDbl(Me.total1), CDbl(tot_All))
    Me.hala = funResult_A(CDbl(Me.total1), CDbl(tot_All), CInt(cntRsob), CStr(Me.gender))
End Sub

Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As Integer)
    Me.txtNag7_H = cntNag7
    Me.txtNag7a_H = cntNag7a
    Me.txt3elagy_H = cnt3elagy
    Me.txt3elagyF_H = cnt3elagyF
End Sub

Private Sub ReportFooter_Format(Cancel As Integer, FormatCount As Integer)
    Me.Tx01 = cntNag7
    Me.Tx02 = cntNag7a
    Me.Tx03 = cnt3elagy
    Me.Tx04 = cnt3elagyF
End Sub

طبعاً تم اضافة الفكرتين في المرفق ، ولك حرية التغيير كما تريد ..

 

Database34.zip

 

image.png.d3a5a6a70e52c13e7bbc55fe6f9eb87c.png

تم تعديل بواسطه Foksh
قام بنشر
2 ساعات مضت, ابوخليل said:

لا .. لا .. انا اثنيت على الحل

استاذنا ومعلمنا  اخي العزيز @Foksh نتعلم منه

سامحك الله معلمي الفاضل ، بل أنا الذي يتعلم منكم صدقني ,,

ما انا به الآن ليس إلا ناتج عن توجيهاتكم و السير على خطاكم في العمل :wub: 

قام بنشر

أخي الفاضل محتاج عمل تزييل في كل صفحة بتقرير النتيجة ويتغير مع تغير الصف بالمرفق السابق

املاه أحمد           راجع الإملاء : محمد                             

كتبه : محمد         راجع الكتابة : أحمد

ماذا أفعل ؟

هل بجدول وأربطه بالصف ؟

لأن ممكن الأسماء دي تتغير من سنة لأخري ومن صف لصف

     

 

قام بنشر
2 دقائق مضت, 2saad said:

ماذا أفعل ؟

 

افتح موضوع جديد ، حتى يتسنى للأخوة والأساتذة المشاركة في طرح الأفكار :wink2: 

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