2saad قام بنشر الأربعاء at 18:16 قام بنشر الأربعاء at 18:16 إخواني أعضاء المنتدي الكرام بعد سلام الله عليكم ورحمة الله وبركاته في الملف المرفق وقد أسسه أستاذنا الفاضل بارك الله فيه وفيكم جميعا عند فتح المرفق يظهر نموذج عند الضغط علي تقارير ثم نختار الفصل الدراسي ( مثلا : الفصل الدراسي الأول ) ثم الفئة ( صفوف دنيا ) ثم الصف ( الأول ) ثم نضغط علي زر كشف تظهر النتيجة في التقرير محتاج أعمل إحصاء في التقرير (ناجح - باجحة - له برنامج علاجي - لها برنامج علاجي ) Database33_2.rar
Foksh قام بنشر الأربعاء at 18:26 قام بنشر الأربعاء at 18:26 (معدل) وعليكم السلام ورحمة الله وبركاته .. اعذرني على مداخلتي عن الحل ، ولكن لتتبسط الأمور ، واعتبرني كشخص يقرأ الموضوع وغير متطلع على سوابق الخطوات التي سرت بها مع المعلم أبو خليل .. 11 دقائق مضت, 2saad said: محتاج أعمل إحصاء في التقرير (ناجح - باجحة - له برنامج علاجي - لها برنامج علاجي ) لم تذكر بناءً على ماذا ، وكيف ، وما هي الأسس التي عليها سيتم الإحصاء ؛ أو حتى توضيح أي نقطة من هذا القبيل 😅 . أنا أفكر معك بصوت عالٍ فقط ، ومتمنياً أن استطيع تقديم المساعدة مع الزملاء والأساتذة . فمثلاً هذه الصورة الناتجة من التقرير .. تم تعديل الأربعاء at 18:28 بواسطه Foksh
2saad قام بنشر الأربعاء at 18:44 الكاتب قام بنشر الأربعاء at 18:44 شكرا أخي الفاضل أنا عايز اعمل إحصاء بناء علي حالة التلميذ في هذا التقرير كم عدد ناجح - كم عدد ناجحة - كم عدد له برنامج علاجي - كم عدد لها برنامج علاجي انظر الصورة
تمت الإجابة Foksh قام بنشر الأربعاء at 19:07 تمت الإجابة قام بنشر الأربعاء at 19:07 (معدل) تمام ، طيب شو رأيك نفكر بطريقتي بحيث انه ما نلعب بالإستعلامات ولا بأي شي تم تأسيسه من طرف أستاذنا أبو خليل ؟؟؟ أول شي بدنا نحجز متغيرات عامة في بداية التقرير للقيم اللي محتاجها ( ناجح ، ناجحة .. إلخ ) ، كالآتي :- Dim cntNag7 As Long '= ناجح Dim cntNag7a As Long '= ناجحة Dim cnt3elagy As Long '= له برنامج علاجي Dim cnt3elagyF As Long '= لها برنامج علاجي وبعدين بدنا نخلي القيم هاي للمتغيرات = 0 لما التقرير يفتح :- 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 تم تعديل الأربعاء at 19:29 بواسطه Foksh 1
2saad قام بنشر الأربعاء at 19:41 الكاتب قام بنشر الأربعاء at 19:41 الله ينور علي حضرتك وبارك الله فيك وفي الأستاذ الفاضل أبو خليل وفيكم جميعا وكمان الأب الفاضل ( أبو خليل ) أثني علي حضرتك ملحوظة : علشان لو حد من الأخوة بيتابعنا علشان يستفيد من سلاسل الذهب هذه يغير كلمة باجحة ناجحة
ابوخليل قام بنشر الأربعاء at 19:49 قام بنشر الأربعاء at 19:49 42 دقائق مضت, Foksh said: أول شي بدنا نحجز متغيرات عامة في بداية التقرير للقيم اللي محتاجها ( ناجح ، ناجحة .. إلخ ) ، كالآتي :- Dim cntNag7 As Long '= ناجح Dim cntNag7a As Long '= ناجحة Dim cnt3elagy As Long '= له برنامج علاجي Dim cnt3elagyF As Long '= لها برنامج علاجي ايضا يمكنك الاعلان عن هذه في الوحدة النمطية العامة من اجل ما تكررها في كل تقرير وتستبدل Dim بـــ Public
Foksh قام بنشر الأربعاء at 19:55 قام بنشر الأربعاء at 19:55 16 دقائق مضت, ابوخليل said: سلمت أناملك .. العفو استاذي ومعلمي الفاضل.. 12 دقائق مضت, 2saad said: ملحوظة : علشان لو حد من الأخوة بيتابعنا علشان يستفيد من سلاسل الذهب هذه يغير كلمة باجحة ناجحة كلامك في محله ، وكنت في صدد تعديلها ولكن للأمانه انشغلت ،، 4 دقائق مضت, ابوخليل said: ايضا يمكنك الاعلان عن هذه في الوحدة النمطية العامة من اجل ما تكررها في كل تقرير وتستبدل Dim بـــ Public كلام سليم ومنطقي وفكرة أجمل 😇
ابوخليل قام بنشر الأربعاء at 19:56 قام بنشر الأربعاء at 19:56 17 دقائق مضت, 2saad said: وكمان الأب الفاضل ( أبو خليل ) أثني علي حضرتك لا .. لا .. انا اثنيت على الحل استاذنا ومعلمنا اخي العزيز @Foksh نتعلم منه 1
2saad قام بنشر الأربعاء at 20:16 الكاتب قام بنشر الأربعاء at 20:16 بعد إذن حضرتك لو حبيت انقل هذه الإحصائيات لرأس التقرير ماذا افعل ؟؟
Foksh قام بنشر الأربعاء at 21:52 قام بنشر الأربعاء at 21:52 (معدل) 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 تم تعديل الأربعاء at 21:53 بواسطه Foksh
Foksh قام بنشر الأربعاء at 21:58 قام بنشر الأربعاء at 21:58 2 ساعات مضت, ابوخليل said: لا .. لا .. انا اثنيت على الحل استاذنا ومعلمنا اخي العزيز @Foksh نتعلم منه سامحك الله معلمي الفاضل ، بل أنا الذي يتعلم منكم صدقني ,, ما انا به الآن ليس إلا ناتج عن توجيهاتكم و السير على خطاكم في العمل
2saad قام بنشر الخميس at 20:03 الكاتب قام بنشر الخميس at 20:03 أخي الفاضل محتاج عمل تزييل في كل صفحة بتقرير النتيجة ويتغير مع تغير الصف بالمرفق السابق املاه : أحمد راجع الإملاء : محمد كتبه : محمد راجع الكتابة : أحمد ماذا أفعل ؟ هل بجدول وأربطه بالصف ؟ لأن ممكن الأسماء دي تتغير من سنة لأخري ومن صف لصف
Foksh قام بنشر الخميس at 20:07 قام بنشر الخميس at 20:07 2 دقائق مضت, 2saad said: ماذا أفعل ؟ افتح موضوع جديد ، حتى يتسنى للأخوة والأساتذة المشاركة في طرح الأفكار
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.