• 0
allosh1

سلسلة دروس علوش الحربي

سؤال

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

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

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

المقدمة :

عند التفكير في برنامج مدرسة أو مخازن أو شئون موظفين في البداية هناك أساسيات لبناء البرنامج فمثلا في برنامجنا الحالي ( المدرسة ) هي عبارة عن فصول و طلاب و مواد دراسية ..الخ انظر إلى الصورة

post-106077-1241485479_thumb.gif

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

ولكن ومن خلال هذه البيانات يتبين لنا أن هناك بيانات سوف تتعلق بها

والبيانات تنقسم إلى أربع أقسام قسم الكتلة البيانية وقسم تعريف الكتلة وقسم البيانات التراكمية و البيانات المحسوبة

الكتلة البيانية = اسم الطالب ( يجب أن تكون واحدة فقط )

تعريف الكتلة = تاريخ التسجيل – العمر – الهواية ... إلخ ( لاحظ أنها تعرف الكتلة )

البيانات التراكمية = هي البيانات التي تضاف بشكل دوري مثل درجات الطالب و الحضور والغياب و المشاركات .. إلخ

البيانات المحسوبة = معدل الطالب ، نسبة الغياب ، عدد سنوات الدراسة .. إلخ ( عادة لا يكون لها جدول بقاعدة البيانات )

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

عند استعراض بعض مشاركات الأعضاء في هذا المنتدى المعطاء ، تجد أسئلة غريبة لا تعلم لماذا يضيف حقل بجدول المبيعات يرصد بيانات محسوبة ولماذا يضيف قائمة تحرير وسرد لأشياء لا يمك حصرها ، ولا تعرف ما هي الكتلة البيانية من البيانات المحسوبة في تصميمه ؟؟

نقطة حوار :

علوش : برنامج الأكسس تكمن القائدة منه في البيانات المحسوبة والمرتبطة بتغير الزمن أو الكمية . ؟

المتدرب : هذي النقطة ما فهمتها يا ليت توضح أكثر

علوش : ولا يهمك ،، طالب اخذ في مادة الرياضيات 20 درجة في الشهر الأول وفي الشهر الثاني 30 هنا ممكن أن يستخرج البرنامج النسبة المئوية أو المعدل أو حاصل الجمع أو .. أو .. إلخ

المتدرب : طيب هذا بتغير الزمن عرفناها و النقطة الثانية .

علوش : أي نقطة ثانية ؟

المتدرب : الكمية ؟

علوش : أها النقطة الثانية وهي الكمية أي تغير الكمية ومن أروع الأمثلة للكمية هي عند تسجيل الطلاب في المدرسة ونفرض أن استيعاب المدرسة 120 طالب عند تسجيل الطالب رقم 120 يتوقف البرنامج عن التسجيل ويغلق نموذج التسجيل ..وهناك قاعدة بيانات ضخمة بالصين يتم تسجيل المواليد بها و المتوفين ومن خلال هذه القاعدة يعرفون نسبة الزيادة السنوية أو الشهرية ..أو نسبة المواليد للوفيات .. إلخ هل عرفت الكمية الآن .

المتدرب : والله روعة برنامج الأكسس ..

--------------

في تصميم بعض البرامج يتورطون المبرمجين في تغيير الكتلة البيانية أو تعريف الكتلة ويضاف نموذج يطلق عليه ( frmRepair ) ومهمة هذا النموذج هي تغيير الكتلة البيانية أو تعريف الكتلة

في الصورة السابقة هل تخيلت الجدول وكيف سننشئه وما هي الحقول المطلوبة انظر إلى هذه الصورة

post-106077-1241485760_thumb.gif

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

عند إنشاء جدول تجنب اللغة العربية في تسمية الحقول أو تسمية الجدول نفسه وإذا كانت اللغة الانجليزية تصعب عليك فحاول أن تسميها بطريقة ( انجلوعربية ) فمثلا حقل الاسم Isam وحقل العمر Omer وهكذا ، في تسمية الجداول يجب أن يبدأ الاسم بالأحرف tbl فمثلا جدول الطلاب tblStudent أو tblTollab ، أما النماذج تبدأ بالأحرف frm فمثلا نموذج التسجيل frmStudentRec والاستعلام qry وسوف نتطرق للفائدة من هذه التسمية

الجدول الأول في مشروعنا هو tblStudent سوف ننشئ نموذج يستقي بياناته من هذا الجدول ماذا سيكون اسمه سوف يكون اسمه frmStudent كذلك عند إنشاء استعلام لفلترة الصفوف مثلا ماذا سيكون اسمه سوف يكون اسمه qryStudentLvl كذلك عند إنشاء نموذج تسجيل الطلاب سوف يكون اسمه frmStudentRec

الآن بمجرد استعراضك للجداول والنماذج والاستعلامات سوف يسهل عليك معرفة الترابط إضافة إلى ذلك أنك تميز بين النموذج والجدول والاستعلام بسهولة تصور لو أن الجدول اسمه Retnag والنموذج ا سمه Ratnej كيف يمكنك التميز بين النموذج والجدول ،

لا تنسى أننا بصدد إنشاء برنامج احترافي وعليك بالتقيد بالتعاليم ما أمكن ؟

التمرين الأول :

أنشئ جدول tblStudent به الحقول التالية

post-106077-1241485910_thumb.gif

ثم أنشئ نموذج frmStudentRec لحقن البيانات بالجدول ، حاول أن تخفف على المستخدم البيانات المدخلة من خلال النموذج يعني أضف قائمة تحرير وسرد ليختار منها المستخدم الصف كذلك اضف قائمة تحرير وسرد ليختار منها الهواية وإذا كانت الهواية غير موجودة بقائمة التحرير والسرد يكتبها بمربع النص ، اجعل تاريخ التسجيل الافتراضي هو تاريخ اليوم نفسه .

و إلى إلقاء في الدرس القادم

مع تحيات / علوش الحربي

ملاحظة : سوف يكون الدرس القادم حول نموذج الإدخال

تم تعديل بواسطه ali_main
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

48 إجابة على هذا السؤال .

  • 0

اخي الفاضل ali_main

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

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

هناك نقطة اريد ان تتجنبها اثناء الشرح اذا كان على شكل سؤال وجواب

عبارة " كمخه " غير محببه لأن الكثير من الأعضاء لا يعرف معناها وهي تعني ( الغبي او الدلخ او الأهبل ) ويفضل استبدالها بـ ( المتدرب ) او اي شخصية اخرى

بالتوفيق

تم تعديل بواسطه zahrah
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الأخت في الله أم عهود السلام عليكم ورحمة الله

أولا اتشرف بمرورك على الموضوع - بالرغم أن الموضوع عبارة عن دورة بسيطة لمتوسطي التعليم ولا استغني عن توجيهاتك

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

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

( نسأل الله أن يجزيك خير الجزاء و أن يجعل لك في الدنيا حسنة وفي الآخرة حسنة أنه بر رؤوف رحيم ، وأن يجعل لك من توقيعك نصيب )

تم تعديل بواسطه ali_main
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

بارك الله فيك اخي ali_main

موضوع شيّق ومجهود تشكر عليه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

بارك الله فيك على الدرس وواصل اخي الحبيب ، واسأل الله ان يستفيد الكل هنـا ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

الدرس الثاني :

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

قد يبدو لك من الوهلة الأولى أن الأمر بسيط يعني ننشئ نموذج يستقي بياناته من وإلى الجدول وننسق الحقول وانتهى الأمر ، لا ليس الأمر كذلك

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

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

الخطوة الاولى : أنشئ نموذج إدخال بيانات يعتمد على الجدول السابق tblStudent وأطلق عليه frmStudentRec أضف الحقول التالية ( الرقم - الاسم - العمر - الهواية ) فقط بقية الحقول ستتلقى البيانات من النموذج من خلال زر الحفظ

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

الرقم التلقائي (IDS ) أو الرقم التسلسلي : مؤمن وغير قابل للتحرير و من الأفضل إضافة حقل خاص برقم الطالب يكتب يدويا إضافة إلى الرقم التلقائي .

الاسم ( Name ) : سوف يكتبه المستخدم في مربع اسم الطالب و كذلك العمر (borth )

الهواية ( avocation ) :سوف ننشئ قائمة تحرير وسرد ونظيف بها الهوايات بدويا ما أمكن كرة القدم – كرة السلة - السباحة .. إلخ و نطلق عليها ( inAvocation ) إذا الهوايات الآن في قائمة تحرير وسرد ، و سوف تحقن بمربع نص الهواية ولكن كيف ذلك في حدث عند التغيير لقائمة التحرير والسرد نكتب الكود التالي :

post-106077-1241523976_thumb.gif

و نجعل مربع نص الهواية ( avocation ) فوق قائمة التحرير والسرد تماما ( inAvocation ) بحيث تسمح للمستخدم إما أن يختار من القائمة أو أن يكتب في مربع النص المربوط بالجدول مباشرة . أنظر إلى الصورة

post-106077-1241524083_thumb.gif

من المفروض عندما يختار المستخدم الهواية ( السباحة ) مثلا أن لا تتغير هذه الهواية مع الطالب الآخر إلا إذا المستخدم غيرها ، كيف ذلك نجعل قيمة مربع الهواية الافتراضي ما تم اختياره من قائمة التحرير والسرد . انظر إلى الصورة

post-106077-1241524170_thumb.gif

ثانيا : الحقول الغير موجودة على النموذج :

الصف (level ) : سوف ننشئ قائمة تحرير وسرد ونظيف بها الصفوف ( الصف الأول – الصف الثاني .. إلخ

ونطلق عليها اسم (inLevel ) هذه الخطوة فيها شيء من التعقيد ، لا تنسى أن حقل الصف من نوع رقم بينما قائمة التحرير والسرد بها أسماء الصفوف نص هكذا ( الصف الأول – الصف الثاني – الصف الثالث .. الخ ) ما هو الحل ، الحل نظيف عمود آخر للقائمة وتضع أمام كل صف رقم الصف ، لأن الرقم هو الذي سوف يخزن بالجدول بحقل (level ) عن طريق زر الحفظ ( cmdSave ) أنظر إلى الصورة .

post-106077-1241524236_thumb.gif

تاريخ التسجيل (txtDate ) : وهو عبارة عن مربع غير منضم على النموذج وقيمته الافتراضية تاريخ اليوم و قناع الإدخال تاريخ و سوف يخزن بالجدول بحقل (DateIn ) عن طريق زر الحفظ ( cmdSave )

الجنس (pullet ) : سوف ننشئ مجموعة خيار على النموذج ونطلق عليها اسم (Insex ) ونربطها بحقل الجنس بحيث يكون حقل الجنس إما 1 وتعني ذكر أو 2 وتعني أنثى ، و من الممكن أن يكون العكس انظر إلى الصورة

post-106077-1241524344_thumb.gif

انتهى الدرس الثاني

مع تحيات / علوش الحربي

ملاحظة سوف يكون الدرس القادم إن شاء الله حول جدول البيانات التراكمية

db8.rar

تم تعديل بواسطه ali_main
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك طرح ممتاز من استاذ كبير

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

الدرس الثالث : درسنا اليوم عن البيانات التراكمية وقلنا فيما سبق أن البيانات تنقسم إلى أربع أقسام قسم الكتلة البيانية وقسم تعريف الكتلة وقسم البيانات التراكمية و البيانات المحسوبة

وقلنا أن الكتلة البيانية = اسم الطالب ( يجب أن تكون واحدة فقط )

و تعريف الكتلة = تاريخ التسجيل – العمر – الهواية ... إلخ

البيانات التراكمية = هي البيانات التي تضاف بشكل دوري مثل درجات الطالب و الحضور والغياب و المشاركات .. إلخ

البيانات المحسوبة = معدل الطالب ، نسبة الغياب ، عدد سنوات الدراسة .. إلخ ( عادة لا يكون لها جدول بقاعدة البيانات )

وقد تكون البيانات التراكمية أكثر من جدول ، وسوف نتكلم في هذا الدرس عن البيانات التراكمية بشكل أوسع لأنك عند تصميم برنامج لا بد أن تكون بارع في تصنيف البيانات ؟

والبيانات التراكمية تتكون من الفترة الزمنية و عنصر التراكم و القيمة التراكمية

الفترة الزمنية : عبارة عن جزيء من الوقت ( شهر – يوم – ساعة – سنة ... الخ ) أو قيمة عددية ( 1 - 2 – 3 - 23 – 156 – 200 .. إلخ )

عنصر التراكم : هو صاحب الفعل أو المنسوب له العد مثل ( 70 درجة بالرياضيات ) العنصر الرياضيات أو ( بدأت إجازتي يوم السبت ) العنصر إجازتي أو ( ضرب خالد سعاد مرة واحدة ) العنصر هنا خالد وهكذا

القيمة التراكمية : هي قيمة الفعل أو العد مثل ( 70 درجة بالرياضيات ) القيمة هنا 70 أو ( بدأت إجازتي يوم السبت ) القيمة هنا السبت أو ( ضرب خالد سعاد مرة واحدة ) القيمة مرة واحدة وسعاد هنا قيمة عددية وهكذا

أنظر إلى هذه الصور و قد حاولت أن اطرح اكثر من نوع من أنواع القيم التراكمية

post-106077-1241573812_thumb.gif

post-106077-1241573820_thumb.gif

لابد أنك بدأت تميز بين البيانات وتعرف كيفية تركيب البيانات وخاصة البيانات التراكمية لأن براعتك في جداول البيانات التراكمية هي براعتك في التصميم والدليل ( حاول أن تضيف جدول بيانات تراكمي ثاني للمشروع يتعلق بالحضور والغياب لن تستطيع ) ، الآن نعود إلى درسنا وهو الجدول الأول للبيانات التراكمية في مشروعنا (tblData ) ، وهو عبارة عن جدول بسيط عبارة عن حقل ترقيم تلقائي وحقل تاريخ لحفظ الفترة الزمنية وحقل الربط ( IDSR ) لتتمكن من ربط هذا الجدول مع جدول الطلاب (tblStudent ) ، ثم تأتي عناصر التراكم و هي هنا المواد التي سوف يدرسها الطالب ( الرياضيات – القراءة – الخط - المطالعة ... الخ ) انظر إلى الصورة ولاحظ نوع بيانات الحقول

post-106077-1241573829_thumb.gif

العلاقة بين الجدولين سوف تكون علاقة رأس بأطراف وطريقة إنشاء العلاقة بين الجدولين من نافذة العلاقات وبعد إضافة الجدولين ، اسحب الحقل ( IDS ) من جدول ( tblStudent ) إلى الحقل ( IDSR ) في جدول ( tblData ) حدد خيار فرض التكامل حتى لا يكون بجدول البيانات التراكمية سجل لا يتعلق بأي طالب ( سجل يتيم )

post-106077-1241573839_thumb.gif

الآن انتهينا من عملية الربط أو العلاقة بين الجدولين ولكن ما هو السجل اليتيم ؟

أنظر إلى الصورة التالية :

post-106077-1241573846_thumb.gif

لاحظ في الصورة أن السجل التاسع في جدول البيانات التراكمية في حقل ( IDSR ) يحمل الرقم 2 ولا يوجد طالب بهذا الرقم وبهذا يكون هذا السجل يتيم ... و ممكن أن تسأل نفسك من الذي اخذ 10 درجات في الرياضيات ؟

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

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

حاول أن تصمم بنفسك نموذج عرض البيانات وتعديلها بشكل جيد يستقي بياناته من وإلى جدول البيانات التراكمية ( tblData ) حاول أن تضيف مثلا مجموع الدرجات و المعدل .

إنتهى الدرس الثالث

مع تحيات / علوش الحربي

ملاحظة سوف يكون الدرس القادم إن شاء الله حول نموذج عرض البيانات التراكمية وتعديلها ونموذج عرض بيانات الطالب

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

بارك الله فيك اخي العزيز

بالحقيقة انا اعمل في مدرسة ثانوية وغالبا ما اعمل برامج ادارية ولكن اصاب بالاحباط في بعض الاحيان عندما اصل الى نقاط صعبة

اتمنى ان تكون دروسك واسعة وان تعطينا الوقت للرد وللاستفسار عما يتم عمله من برامج ادارية

وبارك الله فيكم مرة اخرى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

الدرس الرابع :

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

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

post-106077-1241625034_thumb.gif

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

القسم ( 1 ) هذا القسم خاص بتعريف الكتلة ( الصف ، الجنس ، تاريخ التسجيل .. إلخ ) وليس محرما أن تضع بداخلة بيانات محسوبة أو شيء من البيانات التراكمية مثل درجة آخر اختبار ، ولكن التنظيم في النماذج بسهل عمليات الصيانة والتعديل والإضافة والتغيير فيما بعد ..

القسم ( 2 ) هذا القسم خاص بالكتلة البيانية ، طبعا في مشروعنا هذا الطالب وفي مشروع شئون الموظفين الموظف وفي مشروع المستودعات السلعة ..و في مشروع الصادر والوارد المعاملة .. و هكذا

القسم ( 3 ) هذا القسم خاص بالبيانات التراكمية وفي مشروعنا هذا هي المواد ا لتي يدرسها الطالب ( الرياضيات ، القراءة ، .. إلخ وهذا القسم يعتمد علي جدول مستقل ويجب أن يكون على نموذج فرعي داخل النموذج الرئيسي

القسم ( 4 ) هذا القسم خاص بالبيانات المحسوبة مثل مجموع الدرجات والمعدل .. الخ وهو جزء من النموذج الفرعي

القسم ( 5 ) هذا القسم خاص بأزره النموذج مثل إغلاق النموذج أو طباعة تقرير .. الخ

أولا ننشئ النموذج الفرعي : النموذج الفرعي ( frmData ) وهو نموذج مستمر و يعتمد على جدول البيانات التراكمية ( tblData ) و نضع كل الحقول ماعدا الرقم التسلسلي ( IDSR ) لأنه لا يعني شيء في البيانات التراكمية ، و ممكن أن يستبدل بمربع نص ذو أرقام تسلسلية محسوبة ( 1 – 2 – 3 ... إلخ )

طبعا تصفف الحقول وتنسق بشكل جيد ، بحيث يكون عنوان الحقل ( عنصر التراكم ) برأس النموذج والحقل ( قيمة التراكم ) في تفصيل النموذج ، والحقول المحسوبة ( البيانات المحسوبة ) في تذييل النموذج ، وفي مشروعنا هذا سوف نحسب مجموع الدرجات و المعدل و النسبة المئوية ، وأنت ممكن أن تضيف ما تشاء من البيانات المحسوبة .. أنظر إلى الصورة

post-106077-1241625043_thumb.gif

لابد أنك كنت تسأل نفسك فيما سبق عن الفائدة من تقسيم النموذج لرأس وتفصيل و تذييل ، و الآن ومن خلال معرفتك بالبيانات اتضحت لك الصورة ، أضف لمعلوماتك أن النماذج المستمرة مصممة للبيانات التراكمية بالذات ،

و عادة ما يكون عنصر التراكم في الرأس ، والبيانات التراكمية في التفصيل ، والبيانات المحسوبة إما في التذييل ( و تسمى عمودية ) أو في التفصيل ( و تسمى أفقية )

سوف نتكلم قليلا ونشرح طريقة عمل حقول البيانات المحسوبة ، أولا الجمع أنظر إلى الصورة السابقة في المربع رقم 1 وهو لجمع درجات الرياضيات واسمه ( MathTotal ) ، كيف يجمع الدرجات ، من خصائص المربع وفي خانة مصدر عنصر التحكم في تبويبة بيانات اكتب الكود التالي

post-106077-1241625051_thumb.gif

ثانيا المعدل المربع رقم 2 وأسمه ( MathRate ) في الحقيقة أنا جعلت المعدل مجموع الدرجات على عدد الاختبارات ، وقد أكون مخطئ ولكن أنت عدل كما تراه مناسب ، والطريقة أن نقسم المجموع على عدد الصفوف طبعا المجموع موجود في المربع سابق الذكر ( MathTotal )

post-106077-1241625064_thumb.gif

ثالثا النسبة المئوية المربع رقم 3 وأسمه ( MathAbrs ) في هذا المربع يتم حساب النسبة على اعتبار أن الدرجة الكاملة 80 درجة ، طبعا نقسم 80 على 100 ثم نظربها بالمجموع أنظر إلي الصورة التالية

post-106077-1241625072_thumb.gif

ثانيا ننشئ النموذج الرئيسي : طبعا سيكون اسمه (frmStudent ) و يعتمد بياناته من جدول الطلاب ومهمة هذا النموذج عرض و تحديد سجل الإدخال للطالب بمعنى أن هذا النموذج كدليل لإضافة بيانات تراكمية أو عرضها ، في القسم الثاني وهو قسم ألكتلة البيانية ( أول صورة في هذا الدرس ) نضيف مربع قائمة طبعا لا نكتب القيمة يدويا بل من جدول الطلاب نفسه والذي هو مصدر بيانات النموذج حتى يتم فلترة أو تحديد السجل من خلال الاختيار من مربع القائمة ..

القسم الأول وهو تعريف الكتلة ( أول صورة في هذا الدرس ) سوف ننسق الحقول و نؤمنها حتى لا يكون هناك تغيير في تعريف الكتلة البيانية ( الطالب )

إنتهى الدرس الرابع

مع تحيات / علوش الحربي

ملاحظة : سوف يكون درسنا القادم أن شاء الله حول النموذج الرئيسي بشكل موسع

allosh.rar

تم تعديل بواسطه ali_main
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

وتقبلوا تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك اخي الكريم ماشا الله تبارك الله

جزاك الله الف خير على هذه الدروس القيمه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

السلام عليكم ورحمة الله وبركاته ، في الحقيقة لم أجد تفاعل بالموضوع وهذا شيء استغربته ، وكنت اضن أن هناك من سيذكر عيب أو نقطة بالمشروع تحتاج تعديل ، أو يسأل عن ميزة مثلا ، وعلى هذا سوف اطرح هذا الدرس والدرس القادم إن شاء الله ، ثم أتوقف لفترة ..

بسم ا لله وعلى بركة الله نبدأ درسنا الخامس ..

الدرس الخامس : سوف نتكلم عن نقطتين مهمتين في النموذج الرئيسي ، إذا كنت قد نزلت البرنامج من المرفقات في الدرس السابق وفتحته ماذا تلاحظ ، هل لاحظت أن النموذج الرئيسي يسرد طلاب الصف الأول بمجرد تحديد الصف الأول ، و الصف الثاني والثالث والرابع .. إلخ ، كذلك عند تحديد طالب في مربع القائمة يتم عرض بيانات الطالب المحدد أي تصفية الطلاب والصف وهذه النقطتين سنتحدث عنها بشيء من الإيجاز ..

post-106077-1241781687_thumb.gif

في الحقيقة أن مهمة ا لتصفية تعتمد على كائنين تم إضافتهما للنموذج الأول مجموعة خيارات (selctLevel ) والثاني مربع قائمة ( findName ) . أنظر إلى الصورة أعلاه ..

الكائن الأول أي مجموعة الخيارات ، حامل الصفوف ، طبعا أنا الذي كتبت الصفوف يدويا ليقوم المستخدم بتحديد الصف ، و هو كائن كبقية الكائنات على النموذج له خصائص وله ناتج وأحداث ، وعند تحديد الصف الأول مثلا يكون ناتج مجموعة الخيارات 1 و عند تحديد الصف الثاني 2 وعند تحديد الصف الثالث 3 .. وهكذا ، وبكل بساطة نضع باستعلام الكائن الثاني ( مربع القائمة ) ناتج الكائن الأول بحقل الصفوف لفلترة الطلاب أي لعرض طلاب الصف الواحد فقط ، لأن الصفوف تم تخزينها بالجدول على شكل أرقام ، ونضع بحدث ( عند النقر ) تحديث بيانات الكائن الثاني ( مربع القائمة ) . وبهذا يتم سرد الطلاب في مربع القائمة حسب الصف ،

الكائن الثاني أي مربع القائمة وهو المسئول عن عرض سجلات الطالب التراكمية المراد تعديلها وكذلك التعريفية ، طبعا هذا الكائن أقصد مربع القائمة مصدر بياناته جدول الطلاب نفسه ، أي لم أكتب أنا أسماء الطلاب باليد مثل الكائن الأول ، ولا تنسى أن مصدر بيانات النموذج جدول الطلاب كذلك وهذا لا يهم ، و لكن المهم أن الكائن الثاني كبقية الكائنات على النموذج له خصائص وله ناتج وأحداث ، و ناتج الاختيار هو رقم الطالب أي الحقل ( IDS ) من جدول الطلاب ، وبهذا نضع باستعلام النموذج وفي حقل رقم الطالب ( IDS ) ناتج هذا الكائن ، وبهذا سوف يعرض النموذج طالب واحد فقط ، طبعا النموذج الفرعي مرتبط بعلاقة مع جدول الطلاب وبهذا سوف يسرد بيانات الطالب نفسه معتمدا على العلاقة .. أرجو أن تكون الصورة واضحة

انتهى الدرس الخامس

مع تحيات / علوش الحربي

ملاحظة : سوف يكون الدرس القادم إن شاء الله حول عيوب النموذج وأخطاء البرنامج

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

الدرس السادس : في هذا الدرس سوف نتناول بعض عيوب وأخطاء البرنامج ،

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

alloshone.rar

عند فتح البرنامج لاحظ أن البرنامج يعرض اسم طالب ويعرض سجلات تراكمية لا تتعلق بأي طالب ، أنظر إلى الصورة .

post-106077-1241907189_thumb.gif

طبعا سوف يبدأ المستخدم بإدخال البيانات ، وهنا سوف تحصل كارثة خاصة إذا كان موظف جديد .. ما هو الحل ؟

كذلك انظر إلى نموذج البيانات التراكمية المرقمة على الصورة ( 1 2 ، 3 ، 4 ، 5 ، 6 ) وعددها 6 ، ما رأيك فيما لو أردنا إضافة مواد تراكمية أخرى مثل ( مطالعة ، جغرافيا ، انجليزي ، كمبيوتر .. الخ ) سوف تكون البيانات التراكمية محشورة في جزء بسيط من النموذج . ما هو الحل ؟

كذلك أنظر إلى بيان جنس الطالب ( المحاط بمربع احمر في الصورة ) يعرض الكلمتين ويضع علامة اختيار على جنس الطالب والمفروض أن يعرض جنس الطالب فقط بهذا الشكل ( ذكر ) فقط أو ( أنثى ) فقط ,, إذا ما هو الحل ؟

كذلك ما رأيك بصورة الطالب فيما لو طلب منك مدير المدرسة إضافة صورة للطالب ( لا تنسى أن صورة الطالب تابعة لبيانات تعريف الكتلة العمر ، الهواية ، الخ ) ما هو الحل ؟؟

كذلك أين تاريخ اليوم بالنموذج، وهو مهم جدا في حالة إدخال البيانات التراكمية المتعلقة بالفترة الزمنية ؟؟

أنظر إلى الصور التالية ..

post-106077-1241907348_thumb.gif

لاحظ فقرة تعريف الجنس كيف أصبحت محاطة بمربع احمر

post-106077-1241907370_thumb.gif

الملف بعد التعديل

allosh1.rar

انتهى الدرس السادس

مع تحيات / علوش الحربي

ملاحظة : سوف تتوقف سلسلة الدروس لظروف السفر ثم نعاود إكمال المشروع إن شاء الله

تم تعديل بواسطه ali_main
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

أخي الكريم، بارك الله بك وجعل عملك في ميزان حسناته إنه قريب مجيب، حقيقة إنك لمبدع في شرحك ولعل الإخوة الخبراء في هذا المجال لم يجدوا لك عيباً في طريقة شرحك، وأظن أن الأخت المبدعة زهرة قد أثنت على طريقة شرحك، ولكن بالرغم من كل هذا فأنا أؤيدك من ناحية التعقيب على الدروس من قبل المشرفين والخبراء وهذا ما يجعل الدروس ممتعة وتكون حافزاً لك لتزيد من مجهودك في العطاء. فمشكور أخي الكريم على ما تفضلت به وأرجو ألا تقطع دروسك بمجرد أن أحد لا يعقب عليها واجعل عملك خالصاً لله حتى يكون في ميزان حسناتك . وأخيراً فأرجو أن تتقبل مني ما كتبت وسامحني إن كان في كلامي ما يسيء لأحد.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

مشكور اخي الكريم على هذا المجهود الكبير والمميز ..

بارك الله بك وجزاك الله كل خير ومنتظرين منك المزيد....

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الأخ / Abo Ahmed

الاخ / ابوعمر75

والأخ / moh samer ali

اشكركم على المرور والاطراء الجميل

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

الدرس السابع : بسم الله وعلى بركة الله نبدأ درسنا السابع و في هذا الدرس سوف نتطرق لوظيفة عامة ، أو تفريعة

( Function ) تقوم بحساب عمر الطالب عند التسجيل آليا ، وعمر الطالب بعد ذلك

تكلمنا في الدرس الثاني عن نموذج التسجيل وقلنا أن المستخدم يدخل عمر الطالب عند التسجيل ، ولكن هذه الطريقة غير مستحبة في الغالب ، لأنك لن تحصل على تاريخ ميلاد الطالب بسهولة ، وتاريخ الميلاد مهم جدا في عدة امور منها عمر الطالب عند التسجيل ، وعمر الطالب حاليا وعمر الطالب عند التخرج ، كذلك عند طباعة شهادة التخرج ، إذا الطريقة واضحة وهي أن يكتب المستخدم تاريخ الميلاد ويتم حساب العمر آليا ، ولكن كيف ذلك ، ننشئ وحدة نمطية (Module ) ونضع بداخله الكود التالي :

Function Calcdate(vDate1 As Date, vdate2 As Date)
Dim vYears As Integer, vMonths As Integer, vDays As Integer
vMonths = DateDiff("m", vDate1, vdate2)
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
If vDays < 0 Then
vMonths = vMonths - 1
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
End If
vYears = vMonths \ 12
vMonths = vMonths Mod 12
Calcdate = vYears & " ÓäÉ æ" & vMonths & " ÔåÑ" '& vDays & "íæã"
End Function

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

مثلا 12/03/2004 - 12/05/2009 = 5 سنه و 2 شهر

أنا استبعدت اليوم وممكن أن تضيف اليوم فيما لو رغبت في ذلك ..

وهذا الكود هو عبارة عن تفريعة ( Function ) ولها اسم ( Calcdate ) كما هو واضح من الكود ولها متغيرين الأول (vDate1 ) و المتغير الثاني (vdate2 )

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

Me.SAge = Calcdate(Me.borthDate, DateIn)

borthDate = تاريخ الميلاد

DateIn = تاريخ التسجيل

كذلك في نموذج الطلاب ( نموذج رصد درجات الطلاب ) يتم حساب عمر الطالب الحالي بين تاريخ الميلاد و تاريخ اليوم ، من خلال الكود نفسه

Me.txtAge = Calcdate(Me.borthDate, Me.txtDate)

borthDate = تاريخ الميلاد

txtDate = التاريخ الحالي

الملف المرفق

allosh1.rar

انتهى الدرس السابع

مع تحيات / علوش الحربي

ملاحظة : سوف يكون الدرس القادم إن شاء الله حول نموذج و جدول الغياب

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاخ الكريم ماشاء الله على هذا الترتيب

بصراحه عمل مميز وجهد جبار

ومهما كتبنا لانستطيع شكر هذا المنتدا واعضاءه الرائعين

ومنهم انت اخي العزيز ولكن نقول جزاك الله خيرا

وجعل الله لك بكل حرف حسنه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أكمل يا أخى ما بدات الموضوع شيق وجميل ولكن اين باقى البرانامج

تم تعديل بواسطه batbat90
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الأخ الكريم batbat90

شكرا على مرورك على الموضوع وأبشر باللي يسرك ان شاء الله

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

الدرس الثامن : بسم الله وعلى بركة الله نبدأ درسنا الثامن و في هذا الدرس سوف نتطرق لجدول ونموذج الغياب ، في البداية نضيف جدول جديد (tblCase ) وهو جدول الحالات ، و الحالات تعني 1 غائب 2 مريض 3 مستأذن وهكذا طبعا سوف تكون عدد الحقول أربعة الرقم التلقائي – الحالة – تاريخ الحالة – العلاقة أنظر الى الصورة التالية وتعرف على نوع البيانات لكل حقل ..

post-106077-1242672214_thumb.gif

ثم نربط هذا الجدول ( جدول الحالات ) بجدول الطلاب (tblStudent ) علاقة رأس بأطراف ، طبعا سوف يكون حقل الرأس ( IDS ) من جدول الطلاب ، وحقل الأطراف (ABSR ) من جدول الحالات

post-106077-1242672220_thumb.gif

بعد ذلك ننشئ نموذج (frmCase ) وهذا النموذج يعتبر نموذج رئيسي للحالات ، بمعني أنه سوف يستمد بياناته من جدول الطلاب ، وهو يشبه تماما نموذج الطلاب (frmStudent ) وممكن ان تنسخ نموذج الطلاب وتلصقه وتغير اسمه وتحذف النموذج الفرعي اللذي بداخله ، الآن سوف ننشئ النموذج الفرعي المسئول عن الحالات طبعا سوف يستمد بياناته من جدول الحالات (tblCase ) ، بعد انشاء النموذج الفرعي (frmSubCase ) ( لاحظ اسم النموذج الفرعي ) ، ندخله في النموذج الرئيسي للحالات وبهذه الطريقة نكون انتهينا من النموذج و الجدول ،

الآن بدأنا بالمرحلة الصعبة .. السؤال الآن كيف سنحقن بجدول الحالات ( الحالات ) وكيف نجمع عدد ايام غياب كل طالب ، وكيف نمنع تكرار تحضير الطالب لأنك ممكن أن تحضر الطالب مرتين بنفس اليوم .

اولا : في نموذج الحالات الفرعي (frmSubCase ) أضف مجموعة خيار وأجعل الخيارات ما تشاء من الشروط ( غائب – مريض – مستأذن – مشارك إلخ ) وأطلق على مجموعة الخيار (fraSlctCase ) اضف لمعلوماتك أن مجموعة الخيار تسند لكل شرط رقم مثلا ( غائب 1 ) و ( مريض 2 ) و ( مستأذن 3 ) وهكذا حسب ترتيب كتابة هذه الشروط وهذه الارقام هي التي سوف تحقن بالجدول ويحتفظ بها الجدول انظر إلى الصورة .

post-106077-1242672227_thumb.gif

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

دعنا نلقي نظرة على كود المقارنة :

post-106077-1242672238_thumb.gif

من خلال الكود بالصورة أنظر إلى ناتج المقارنة ( SDC ) وتعني ( STUDENT DATE CASE )

إذا كان الطالب سبق أن تم تحضيره سوف يكون ناتج المقارنه قيمة وإذا لم يتم تحضيره سوف يكون ناتج المقارنة لا شيء ..

ثانيا : كيف يتم التعرف على عدد الحالات لكل طالب ( عدد أيام الغياب وأيام التأخير وأيام المشاركات إلخ )

في الحقيقة انا استخدمت استعلام ، وهي الطريقة الأصعب والأمثل وقد اضفت استعلام وأسميته (qryCountCase ) وتفريعة في الوحدة النمطية وبها متغير ، بحيث انسب للمتغير قيمة ( رقم الحالة ) وتتم تصفية الاستعلام على اساس هذا المتغير ، ثم اضع الناتج في مربع خاص بالحالة بجانب الحالة يعني مربع نص بجانب حالة الغياب ومربع نص بجانب المشاركة وهكذا .. أنظر لهذه الصورة يمكن أن توضح الفكرة أكثر

post-106077-1242672246_thumb.gif

انتهى الدرس الثامن

الملف المرفق

allosh8.rar

مع تحيات / علوش الحربي

ملاحظة : سوف يكون الدرس القادم إن شاء الله حول تنسيقات النماذج

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

دروس رائعة وبارك الله فيك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الأخ الكريم / shamal

شكرا على مرورك وتقبل تحياتي

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

الدرس التاسع : بسم الله وعلى بركة الله نبدأ درسنا التاسع و في هذا الدرس سوف نتطرق لتنسيق النموذج ، والمقصود من تنسيق النموذج مظهرة وحجمه والكائنات التي بداخله ، ومن الطبيعي أن يظهر النموذج بمظهر لائق لأنه غالبا ما يكون في واجهة المستخدم ، وتنظيم وتصفيف كائنات النموذج تساعد على سرعة الإنجاز ، واقصد في التصفيف ان تكون البيانات المترابطة متقاربة ، يعني في برنامجنا هذا تكون المواد التي يدرسها الطالب متراصة وبجانب بعض ، كذلك من التنسيقات ألوان النموذج و ألوان الكائنات .

دعنا نلقي نظرة على هذا النموذج

post-106077-1242750763_thumb.gif

لاحظ اسم الطالب المحاط بمربع أحمر اين مكانه في آخر قسم بيانات تعريف الكتلة ، لأن المدرس عندما يدخل الدرجات ( البيانات التراكمية ) يكون اسم الطالب قريب من عينه ، وهو مهم جدا في حالة رصد الدرجات ، أما العمر والهواية والجنس فليست مهمة لذلك وضعت في اعلى القسم ..

كذلك من تنسيقات النموذج وضع صورة مضمنة كخلفية للنموذج ، بحيث ترسم صورة في أي برنامج رسم ثم تجعل هذه الصورة خلفية للنموذج . انا رسمت هذه الرسمة ..

post-106077-1242750778_thumb.gif

كذلك هذه الرسمة

post-106077-1242750799_thumb.gif

هذه صور رسمتها ببرنامج الفوتوشوب ، ثم وضعتها كخلفية للنموذج و نسقت الكائنات بحيث تتناسب مع الصورة ، من المفروض أن يضبط النموذج على جم معين لأنك فيما لو عملت تكبير للنموذج سوف تكون الصورة بجزء من الشاشة والكائنات بجزء آخر ، في مثل هذه الحالة يجب أن يضبط النموذج عند ارتفاع معين وعرض معين ولا يسمح للمستخدم بأن يغير في حجم النموذج وطريقة ضبط طول وعرض النموذج نضع هذا الكود في حدث بداية فتح النموذج

Private Sub Form_Open(Cancel As Integer)

DoCmd.MoveSize , , 11900, 10700

End Sub

الرقم ( 10700 ) يعني طول النموذج البعد بين بداية النموذج من أعلى ونهاية النموذج من اسفل ، والرقم ( 11900 ) ويعني عرض النموذج بداية النموذج من اليمين حتى نهاية من الشمال ,,

طبعا يجب ان نلغي ازرار التحجيم أنظر إلى شكل النموذج بعد تنسيق اللكائنات

post-106077-1242753104_thumb.gif

لاحظ أن النموذج ليس له ازرار تحجيم ، كان من المفروض أن تكون كل النماذج بنفس اللون تقريبا أو من مشتقات اللون من باب الجمال ليس إلا .. لكن انا وضعت النموذج الآخر من لون آخر للزيادة في التوضيح ..

انتهى الدرس التاسع

الملف المرفق

allosh9.rar

مع تحيات / علوش الحربي

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك وجزاك الله خير اخي علوش

ونفع الله بعلمك

الله يعطيك الصحة والعافيه

وفقك الله والى الامام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سوف يكون الدرس القادم حول الارقام السرية

وشكرا على مرورك على الموضوع اخي العزيز at_aziz

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سلمت أيادي الشباب تناولتم الموضوع باسلوب تربوي رائع وسهل

جزيتم خيرا.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .