اذهب الي المحتوي
أوفيسنا

allosh

03 عضو مميز
  • Posts

    105
  • تاريخ الانضمام

  • تاريخ اخر زياره

مشاركات المكتوبه بواسطه allosh

  1. بارك الله فيك ونفعنا الله بعلمك

    لكن عندي سؤال بسيط  اذا ممكن

    كيف انقل مجموعة من الاسطر لشيت

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

    عشان عملية الطباعة

     

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

    تفاجأت بايميلا من بعض الزوار والاعضا يسألون عن  ملف  الدرس الاخير

    وان الرابط لا يعمل

    وهذا رابط الدروس

     

    http://www.officena.net/ib/index.php?showtopic=28195&hl=%2B%D8%B9%D9%84%D9%88%D8%B4+%2B%D8%A7%D9%84%D8%AD%D8%B1%D8%A8%D9%8A

    وهذا رابط الملف

    http://www.up-00.com/?eNY

     

    كذلك

    get-5-2013-almlf_com_t74z65wvmc.png

     

    الاسم السري  xxx    والرقم السري 3

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

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

    • Like 1
  3. السلام عليكم ورحمة الله

    رحمة الله عليك يا علوش الحربي ، وألهم اهلك الصبر والسلوان

    اما المقصود في هذه المشاركة فأعرفه معرفة سطحية ونسأل الله له الرحمة والمغفرة

    وهو ليس أنا ( فأنا ولله الحمد لازلت على قيدالحياة ) ولا زلت في نعمة وصحة من العزيزالكريم

    و الاسم الحقيقي علي بن دويرج الحربي

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

    علوش الحربي

  4. موافقك يا اخ قصي في ان الاخ علوش الحربي من عمالقة الاكسيس

    انت شرحت المطلوب ولو في اي استفسار يا استاذ علوش اعرضه

    انا امتهن التدريس

    وتقبل تحياتي

    ممتاز - عندي عدة اسئلة -

    على أي اساس يبنى رقم الجلوس ؟ هل هو رقم تلقائي أم رقم يدخلة المستخدم ؟؟

    توزيع الطلاب هل هو توزيع عشوائي ، ولماذا لا يتم التوزيع عند التسجيل ؟ يعني عندما تسجل طالب تحدد الصف المطلوب وتكتب بياناته ؟

    ما المقصود بمدة الاقامة ؟

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

    وتقبل تحاتي

  5. يخص المدارس وهو عبارة عن اسماء صف من الصفوف ندخلها في صفحة بيانات اساسية ومع الاسماء التي ندخلها ندخل باقي بياناتها من تاريخ ميلاد ومحل الميلاد

    والديانه وحالة القيد .. وغير ذلك من البيانات

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

    وحالة القيد المقصود منه نتيجة الطالب ، في نظري البسيط ان على البرنامج حساب رقم القيد آليا ،

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

  6. اخي علوش

    أحسن الله اليك ونفع بعلمك ونفعك بما علمك

    أود أن اساهم برأي متواضع نابع من خبرة متواضعة

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

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

    جماليات وتنسيق مريح ومتكامل وينم عن ذوق رفيع

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

    بارك الله لك وبك

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

    والى الامام

    ونبقى بانتظار تطبيقات جميلة من ... علوش

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

  7. عملك اخي علوش الحربي رائع وارجو من الله ان يجعله في كفة حسناتك

    هل نستطيع يا اخي الكريم

    ان نجعل هذا الشرح على برنامج فيتم الاستفادة من الشرح الرائع

    ويتم الاستفاده من التطبيق الجديد بالأكسيس بلمسات الاستاذ المتمكن من الاكسيس (علوش الحربي )

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

    هل نستطيع ان نحوله بالأكسيس فتثري المكتبة العربية بعمل جديد وشرح

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

    http://www.officena.net/ib/index.php?showtopic=24454&hl=

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

    ياريت

    يارب يكرمك ويسهلك الامور

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

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

    post-9441-1244176785.gif

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

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

    انتهى الدرس الثالث عشر – والأخير
    الاسم السري : xxx الرقم السري : 3
    الملف المرفق
    http://file14.9q9q.net/Download/35251995/dress13.rar.html
    مع تحيات / علوش الحربي
  9. الاخ الكريم / الضياء2008 شكرا على مرورك على الموضوع وتقبل تحياتي

    الاخ الكريم / و أياك ووالديك إن شاء الله

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

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

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

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

    post-9441-1243992660.gif

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

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

    أنا جعلت الصورة تختفي ، وجعلت قائمة التحرير والسرد لا تحدد شيء ، لأن الطالب انتقل لصف آخر ..

    وأنت ممكن أن تعدل كما تشاء ..

    الاسم السري : xxx الرقم السري : 3

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

    الملف المرفق

    http://file14.9q9q.net/Download/36763676/dress12.rar.html

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

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

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

    الدرس الحادي عشر :
    في هذا الدرس سوف نتطرق لموضوع الصور صور الطلاب ، في الحقيقة أن صور الأشخاص أو الطلاب كما هو الحال في برنامجنا هذا ، توضع في مجلد خاص بها على الهارد دسك يكون داخل مجلد البرنامج ، والطريقة السليمة أن توضع الصورة برقم الشخص أو الطالب ، يعني الطالب خليفة صبحي رقمه في الجدول 5 إذا صورته في المجلد ( 5.gif ) وهكذا ، وهذا يسهل عملية صيانة البرنامج وتعديل الصور بكل سهولة ، وتصور لو أن عدد الطلاب في البرنامج 1700 وفقدت صورة طالب كيف يمكن معالجة المشكلة إذا لم تكن الصور مرقمة بأرقام الطلاب ، وهل ستكتشف أن الخطأ هو اسم الصورة تغير أو أن الصورة حذفت من المجلد أو أن رابط الصورة حذف من الجدول ، لكن اذا كانت الصور مرقمة بأرقام الطلاب سوف تنظر الى رقم الطالب ثم تفتح مجلد الصور وتبحث عن الصورة ذات الرقم نفسه ، وبكل بساطة تعرف الخطأ اين ، ولكن يعيب هذه الطريقة أنه يجب أن تكون كل الصور من نوع واحد ( gif ) مثلا أو ( jpg ) ويصعب استخدام النوعين ،
    الطريقة الثانية هي الطريقة المعتادة في البرامج يعني عند اضافة صورة تفتح نافذة حوار لتحدد الصورة من المجلد ايا كان المجلد ، ثم تنقر على موافق ..
    في مشروعنا هذا أنا استخدمت الطريقتين معا ،
    عند انزال البرنامج وفك الضغط لاحظ المجلد (Spic ) يحتوي على صور الطلاب مرقمة حسب رقم الطالب أو الطالبة وحتى لا يكون شرطا أن تكون صورة الطالب بنفس المجلد وبنفس الرقم ، فقد أضفت الميزة الثانية وهي البحث عن الصورة في أي مجلد أو حتى المجلد نفسه (Spic )
    سوف اقوم بشرح الطريقة الأولى فقط لأن الطريقة الثانية اعتقد أنها لا تحتاج شرح فقط انقر على كلمة ( بحث عن صورة )
    الطريقة الأولى : افتح البرنامج ثم ادخل الاسم السري ( xx ) والرقم السري ( 2 ) ثم افتح نموذج تسجيل طالب أكتب اسم الطالب وتاريخ الميلاد وحدد الهواية او اكتبها ، سوف يظهر لك رقم الطالب اترك البرنامج وافتح المجلد ( Spic ) وأضف صورة الطالب وغير اسمها حسب رقم الطالب يجب أن يكون امتداد الصورة ( gif ) ثم ارجع للبرنامج وأنقر على الصورة نفسها دبل كلك وليس كلمة ( بحث عن صورة ) سوف يضيفها البرنامج ويعطي رسالة بذلك ، وإذا كانت الصورة غير موجودة بالمجلد سوف يعطي رسالة بأن الصورة غير موجودة ,, في هذه الحالة استخدم الطريقة الثانية ..
    لا حظوا معي الكود التالي :
    Private Sub imgStudent_DblClick(Cancel As Integer)
             On Error GoTo Err
             Dim R As String
        
        SP = IDS
        spp = SP & ".gif"
        
       '--------------------------------------------------------
                      
             R = Application.CurrentProject.Path & "\Spic\" & spp
             imgStudent.Picture = R
             '=========================================
              MsgBox "Êã ÇÚÊãÇÏ ÕæÑÉ ÇáØÇáÈ/ÇáØÇáÈÉ  ", vbInformation, "ÇÚÊãÇÏ ÇáÕæÑÉ"
             imgPath = spp
     Exit Sub
    Err:
    
         MsgBox SP & ".gif" & "   áÇ ÊæÌÏ ÕæÑÉ ÇáØÇáÈ/ÇáØÇáÈÉ íÌÈ Ãä Êßæä ÇáÕæÑÉ ÈÇáÑÞã     ", vbInformation, "ÇÚÊãÇÏ ÇáÕæÑÉ"
         R = Application.CurrentProject.Path & "\Spic\" & "NoPic.GIF"
         imgStudent.Picture = R
         imgPath = "NoPic.gif"
         
    End Sub



    لا حظوا معي الكود مرة أخرى بالصورة :
    post-9441-1243629997.gif

    هذا هو كود الدبل كلك على الصورة ، في البداية وفي السطر رقم 4 سوف ينسب رقم 5 للمتغير ( sp ) حيث ( IDS ) هو مربع النص على النموذج ويحمل الرقم 5
    الآن لاحظ السطر التالي رقم 5 سوف يصبح المتغير ( spp ) هو اسم الصورة بالضبط يعني ( 5.gif ) في السطر الذي يليه 6 كل العبارة ( Application.CurrentProject.Path ) تعني عنوان مجلد البرنامج وبعدها مجلد الصور ثم اسم الصورة .. في السطر 7 سوف يعتمد رابط الصورة لإطار الصورة على النموذج ..
    في السطر 9 يتم حفظ الرابط في الحقل ( imgPath ) من جدول الطلاب وإذا لم يجد الصورة سوف يحصل خطأ ويتجه للسطر 10 في السطر 13 يتم اعتماد رابط الصورة ( NoPic.gif ) هذه الصورة يجب أن تكون دائما وأبدا في مجلد الصور ولو حذفت سوف يحصل خطأ في البرنامج ..
    طبعا السطر 14 مثل السطر 7 تماما لاعتماد الصورة الاعتيادية لإطار الصورة ( imgStudent ) على النموذج كذلك السطر 15 مثل السطر 9 إلا انه بدل حفظ الصورة ( 5.gif ) سوف يحفظ الصورة ( NoPic.gif )

    الملف المرفق


    انتهى الدرس الحادي عشر
    مع تحيات / علوش الحربي

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

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


    post-9441-1243201179.gif

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

    post-9441-1243201191.gif

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

    Private Sub Pzzwfin_AfterUpdate()
      '----------------------------------
       If (Eval("DLookUp(""[PZZ]"",""[tblPzzw]"",""[PZZ] =form![Pzzwfin]"") Is  Null")) Then
       MsgBox " ÇáÑÞã ÇáÓÑí ÎØÃ", vbInformation, "ÇáÑÞã ÇáÓÑí"
       Me.Pzzwfin = Null
    Exit Sub
    Else
      If Me!UserNIC = txtUserIn Then
      '-----------------------------------------------------
          
        Pzzn = cmpUser.Column(1)
         
         
         DoCmd.RunSQL "Insert Into tblPzzwSave(User) Values(Forms![frmPzzw]![txtCN])"
        
        Dim stDocName As String
        Dim stLinkCriteria As String
        stDocName = "frmStudent"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
        Me.Pzzwfin = Null
        Me!txtUserIn = Null
      '---------------------------------------------------------
      Else
      MsgBox " ÇÓã ÇáãÓÊÎÏã ÎØÃ", vbInformation, "ÇÓã ÇáãÓÊÎÏã"
      Me!txtUserIn = Null
      End If
      End If
      
    End Sub


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

    في البرنامج يوجد ثلاث مستخدمين هم
    عادل عبد الرحمن الاسم السري ( xxx1 ) والرقم السري 111
    عبد الرحمن عادل الاسم السري ( xxx2 ) والرقم السري 222
    خالد مخلوف الاسم السري ( xxx3 ) والرقم السري 333
    الملف المرفق


    ملاحظة : إذا اردت أن نضيف صورة للطالب افتح نموذج تسجيل الطلاب ( frmStudentRec ) وانقر على الصورة دبل كلك ثم حدد الصورة من مجلد الصور

    انتهى الدرس العاشر
    مع تحيات / علوش الحربي
  12. أخي علوش

    تم حل موضوع التحميل لغاية 2 ميجا بايت بالنسبة لك

    كل الشكر و التقدير للاستاذ محمد طاهر

    نسأل الله أن يجعل مسعانا واياكم لوجهه الكريم

    الله يحفظك ويجزاك خير و يحفظك من كل مكروه ،

    نعم انا اعاني من موضوع تحميل الملفات

    و شكر الله سعيك وبارك الله فيك أنت والأخ الكريم محمد طاهر

    • Like 1
  13. الاخ الكريم / nart lebzo

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

    والمشكلة أنني لم استطع ارفاق ملف الدرس التاسع وهذه الرسالة

    ( عملية إرفاق الملف فشلت, حجم الملف المراد إرفاقه أكبر من المسموح به. )

    بالرغم أن الملف 1.2 MB ياليت تشوف هذه المشكلة

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

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

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

    post-9441-1242753950.gif

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

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

    post-9441-1242753963.gif

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

    post-9441-1242753984.gif

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

    Private Sub Form_Open(Cancel As Integer)
        
     DoCmd.MoveSize , , 11900, 10700
    
    End Sub

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

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

    post-9441-1242754002.gif

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

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

    الملف المرفق

    http://file14.9q9q.net/Download/55439655/allosh9.rar.html

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

  14. الاخ : nofal

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

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

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

    post-9441-1242670108.gif

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

    post-9441-1242670117.gif

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

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

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

    post-9441-1242670125.gif

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

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

    post-9441-1242670133.gif

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

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

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

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

    post-9441-1242670142.gif

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

    الملف المرفق

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

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

  15. يا سلام عليك يا علوش

    الصراحة اسلوب جميل جدا في الطرح .... بالفعل روعة.....

    اعتذر كوني لم انتبة للموضوع الا الان ولكن نحن بانتظار المزيد

    صح: عدد زوار الموضوع كثير(250) ولكن التفاعل قليل(9)

    لكن: ولا يهمك وتاكد ان الكثير من الاخوة الاعضاء في انتظار الدرس التالي بالرغم من انهم لم يشاركو ولو بكلمة شكر

    الله يعطيك العافية ويزيدك من علمة

    يكفيني مرورك على الموضوع ..

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

  16. الاخ : Bluemind

    الاخ : dayslife

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

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

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

    ( 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 & " &Oacute;&auml;&Eacute; &aelig;" & vMonths & " &Ocirc;&aring;&Ntilde;" '& vDays & "&iacute;&aelig;&atilde;"
    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 = التاريخ الحالي

    الملف المرفق

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

    سوف نتكلم قليلا ونشرح طريقة عمل حقول البيانات المحسوبة ، أولا الجمع أنظر إلى الصورة السابقة في المربع رقم 1 وهو لجمع درجات الرياضيات واسمه ( MathTotal ) ، كيف يجمع الدرجات ، من خصائص المربع وفي خانة مصدر عنصر التحكم في تبويبة بيانات اكتب الكود التالي
    post-9441-1241649766.gif
    ثانيا المعدل المربع رقم 2 وأسمه ( MathRate ) في الحقيقة أنا جعلت المعدل مجموع الدرجات على عدد الاختبارات ، وقد أكون مخطئ ولكن أنت عدل كما تراه مناسب ، والطريقة أن نقسم المجموع على عدد الصفوف طبعا المجموع موجود في المربع سابق الذكر ( MathTotal )
    post-9441-1241649775.gif
    ثالثا النسبة المئوية المربع رقم 3 وأسمه ( MathAbrs ) في هذا المربع يتم حساب النسبة على اعتبار أن الدرجة الكاملة 80 درجة ، طبعا نقسم 80 على 100 ثم نظربها بالمجموع أنظر إلي الصورة التالية
    post-9441-1241649783.gif
    ثانيا ننشئ النموذج الرئيسي : طبعا سيكون اسمه (frmStudent ) و يعتمد بياناته من جدول الطلاب ومهمة هذا النموذج عرض و تحديد سجل الإدخال للطالب بمعنى أن هذا النموذج كدليل لإضافة بيانات تراكمية أو عرضها ، في القسم الثاني وهو قسم ألكتلة البيانية ( أول صورة في هذا الدرس ) نضيف مربع قائمة طبعا لا نكتب القيمة يدويا بل من جدول الطلاب نفسه والذي هو مصدر بيانات النموذج حتى يتم فلترة أو تحديد السجل من خلال الاختيار من مربع القائمة ..
    القسم الأول وهو تعريف الكتلة ( أول صورة في هذا الدرس ) سوف ننسق الحقول و نؤمنها حتى لا يكون هناك تغيير في تعريف الكتلة البيانية ( الطالب )

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

    allosh.rar
  20. السلام عليكم ورحمة الله

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

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

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

    الفترة الزمنية : عبارة عن جزيء من الوقت ( شهر – يوم – ساعة – سنة ... الخ ) أو قيمة عددية ( 1 - 2 – 3 - 23 – 156 – 200 .. إلخ )
    عنصر التراكم : هو صاحب الفعل أو المنسوب له العد مثل ( 70 درجة بالرياضيات ) العنصر الرياضيات أو ( بدأت إجازتي يوم السبت ) العنصر إجازتي أو ( ضرب خالد سعاد مرة واحدة ) العنصر هنا خالد وهكذا
    القيمة التراكمية : هي قيمة الفعل أو العد مثل ( 70 درجة بالرياضيات ) القيمة هنا 70 أو ( بدأت إجازتي يوم السبت ) القيمة هنا السبت أو ( ضرب خالد سعاد مرة واحدة ) القيمة مرة واحدة وسعاد هنا قيمة عددية وهكذا
    أنظر إلى هذه الصور و قد حاولت أن اطرح اكثر من نوع من أنواع القيم التراكمية
    post-9441-1241649234.gif
    post-9441-1241649243.gif
    لابد أنك بدأت تميز بين البيانات وتعرف كيفية تركيب البيانات وخاصة البيانات التراكمية لأن براعتك في جداول البيانات التراكمية هي براعتك في التصميم والدليل ( حاول أن تضيف جدول بيانات تراكمي ثاني للمشروع يتعلق بالحضور والغياب لن تستطيع ) ، الآن نعود إلى درسنا وهو الجدول الأول للبيانات التراكمية في مشروعنا (tblData ) ، وهو عبارة عن جدول بسيط عبارة عن حقل ترقيم تلقائي وحقل تاريخ لحفظ الفترة الزمنية وحقل الربط ( IDSR ) لتتمكن من ربط هذا الجدول مع جدول الطلاب (tblStudent ) ، ثم تأتي عناصر التراكم و هي هنا المواد التي سوف يدرسها الطالب ( الرياضيات – القراءة – الخط - المطالعة ... الخ ) انظر إلى الصورة ولاحظ نوع بيانات الحقول
    post-9441-1241649259.gif
    العلاقة بين الجدولين سوف تكون علاقة رأس بأطراف وطريقة إنشاء العلاقة بين الجدولين من نافذة العلاقات وبعد إضافة الجدولين ، اسحب الحقل ( IDS ) من جدول ( tblStudent ) إلى الحقل ( IDSR ) في جدول ( tblData ) حدد خيار فرض التكامل حتى لا يكون بجدول البيانات التراكمية سجل لا يتعلق بأي طالب ( سجل يتيم )
    post-9441-1241649266.gif
    الآن انتهينا من عملية الربط أو العلاقة بين الجدولين ولكن ما هو السجل اليتيم ؟

    أنظر إلى الصورة التالية :
    post-9441-1241649273.gif
    لاحظ في الصورة أن السجل التاسع في جدول البيانات التراكمية في حقل ( IDSR ) يحمل الرقم 2 ولا يوجد طالب بهذا الرقم وبهذا يكون هذا السجل يتيم ... و ممكن أن تسأل نفسك من الذي اخذ 10 درجات في الرياضيات ؟
    و فرض التكامل يمنع تولد سجل بهذا الشكل أو سجل يتيم .


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

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

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

    الخطوة الاولى : أنشئ نموذج إدخال بيانات يعتمد على الجدول السابق tblStudent وأطلق عليه frmStudentRec أضف الحقول التالية ( الرقم - الاسم - العمر - الهواية ) فقط بقية الحقول ستتلقى البيانات من النموذج من خلال زر الحفظ
    إذا الحقول الموجودة على النموذج هي الرقم والاسم والعمر والهواية أما تاريخ التسجيل والجنس والصف فغير موجودة . دعنا نتكلم أولا عن ألحقول الموجودة على النموذج
    الرقم التلقائي (IDS ) أو الرقم التسلسلي : مؤمن وغير قابل للتحرير و من الأفضل إضافة حقل خاص برقم الطالب يكتب يدويا إضافة إلى الرقم التلقائي .
    الاسم ( Name ) : سوف يكتبه المستخدم في مربع اسم الطالب و كذلك العمر (borth )
    الهواية ( avocation ) :سوف ننشئ قائمة تحرير وسرد ونظيف بها الهوايات بدويا ما أمكن كرة القدم – كرة السلة - السباحة .. إلخ و نطلق عليها ( inAvocation ) إذا الهوايات الآن في قائمة تحرير وسرد ، و سوف تحقن بمربع نص الهواية ولكن كيف ذلك في حدث عند التغيير لقائمة التحرير والسرد نكتب الكود التالي :

    post-9441-1241648226.gif
    نجعل مربع نص الهواية ( avocation ) فوق قائمة التحرير والسرد تماما ( inAvocation ) بحيث تسمح للمستخدم إما أن يختار من القائمة أو أن يكتب في مربع النص المربوط بالجدول مباشرة . أنظر إلى الصورة
    post-9441-1241648297.gif
    من المفروض عندما يختار المستخدم الهواية ( السباحة ) مثلا أن لا تتغير هذه الهواية مع الطالب الآخر إلا إذا المستخدم غيرها ، كيف ذلك نجعل قيمة مربع الهواية الافتراضي ما تم اختياره من قائمة التحرير والسرد . انظر إلى الصورة
    post-9441-1241648390.gif
    ثانيا : الحقول الغير موجودة على النموذج :
    الصف (level ) : سوف ننشئ قائمة تحرير وسرد ونظيف بها الصفوف ( الصف الأول – الصف الثاني .. إلخ
    ونطلق عليها اسم (inLevel ) هذه الخطوة فيها شيء من التعقيد ، لا تنسى أن حقل الصف من نوع رقم بينما قائمة التحرير والسرد بها أسماء الصفوف نص هكذا ( الصف الأول – الصف الثاني – الصف الثالث .. الخ ) ما هو الحل ، الحل نظيف عمود آخر للقائمة وتضع أمام كل صف رقم الصف ، لأن الرقم هو الذي سوف يخزن بالجدول بحقل (level ) عن طريق زر الحفظ ( cmdSave ) أنظر إلى الصورة .
    post-9441-1241648479.gif
    تاريخ التسجيل (txtDate ) : وهو عبارة عن مربع غير منضم على النموذج وقيمته الافتراضية تاريخ اليوم و قناع الإدخال تاريخ و سوف يخزن بالجدول بحقل (DateIn ) عن طريق زر الحفظ ( cmdSave )

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

    post-9441-1241648540.gif

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

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

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

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

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

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

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

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

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

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

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

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

    الآن بمجرد استعراضك للجداول والنماذج والاستعلامات سوف يسهل عليك معرفة الترابط إضافة إلى ذلك أنك تميز بين النموذج والجدول والاستعلام بسهولة تصور لو أن الجدول اسمه Retnag والنموذج ا سمه Ratnej كيف يمكنك التميز بين النموذج والجدول ،
    لا تنسى أننا بصدد إنشاء برنامج احترافي وعليك بالتقيد بالتعاليم ما أمكن ؟
    post-9441-1241647642.gif
    ثم أنشئ نموذج frmStudentRec لحقن البيانات بالجدول ، حاول أن تخفف على المستخدم البيانات المدخلة من خلال النموذج يعني أضف قائمة تحرير وسرد ليختار منها المستخدم الصف كذلك اضف قائمة تحرير وسرد ليختار منها الهواية وإذا كانت الهواية غير موجودة بقائمة التحرير والسرد يكتبها بمربع النص ، اجعل تاريخ التسجيل الافتراضي هو تاريخ اليوم نفسه .

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

    مع تحيات / علوش الحربي
    ملاحظة : سوف يكون الدرس القادم حول نموذج الإدخال
  23. إذا كنت تقصد بالادخال في الموذج الفرعي لا يمكن ان ينتقل المؤشر لزر الطباعة على النموذج الأساسي الا بواسطة الفأرة

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

    وتقبل تحياتي

×
×
  • اضف...

Important Information