العاب فلاش

                   
صفحة 1 من 3 123 الأخيرةالأخيرة
النتائج 1 إلى 20 من 44
  1. #1
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي شرح برنامج الاكسس- Access


    الحقول في Access

    ما هي أنوع الحقول المتاحة عند إنشاء جدول ؟
    يوجد عند إنشاء جدول بـ Access تسعة أنواع من الحقول يمكن استخدام كل منها لحفظ نوع محدد من البيانات :
    - نص : يستخدم لحفظ القيم النصية قصيرة وذلك حتى ( 255 حرف ) ، ويمكن أن تكون القيم المدخلة أحرف أو أرقام أو علامات ترقيم أو فراغات أو رموز .
    مذكرة : يستخدم لحفظ القيم النصية الطويلة وذلك حتى ( 46000 حرف ) .
    - رقم : يستخدم لحفظ بيانات رقمية ليست عملة ، ويمكن أن تكون الأرقام قيماً صحيحة أو كسرية أو قيماً سالبة تسبقها الإشارة السالبة .
    - تاريخ / وقت : يستخدم لحفظ التاريخ أو الوقت أو كلاهما .
    - عملة : يستخدم لحفظ قيم مالية ، ويمكنك تغيير وحدة العملة الافتراضية من خلال أيقونة إعدادات إقليمية من لوحة التحكم في Windows .
    - ترقيم تلقائي : حقل عددي يعطي قيماً تلقائية في كل مرة يتم فيها إضافة سجل جديد ، وهو دائماً يبدأ بالقيمة رقم ( 1 ) .
    - نعم / لا : يستخدم لحفظ قيم منطقية ( صحيحة أو خاطئة ، نعم أو لا ) .
    - كائن OLE : يستخدم لحفظ كائنات من تطبيقات أخرى لـ Windows والتي تدعم خاصية ربط وتضمين الكائنات ، حيث يمكن حفظ أوراق عمل أو مستندات Word أو موجه صوتيه أو صور .
    - ارتباط تشعبي : يستخدم لحفظ عناوين صفحات الـ Web أو ملف مستند موجود على القرص الصلب .

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

    كيف يمكن تغيير القيمة الإبتدائية لحقل من النوع " ترقيم تلقائي " إلى قيمة غير الـ " 1 " ؟
    - انشاء جدول يحتوي على حقل من النوع " ترقيم تلقائي " ، وهو الذي نريد أن نغير قيمة البدايه له بحيث تكون غير الرقم ( 1 ) و حقل آخر من النوع " نص " .
    مثال : جدول باسم " بيانات الموظفين " يحتوي حقلين الحقل الأول نسميه " رقم الموظف " ونوعه ترقيم تلقائي والحقل الثاني نسميه " اسم الموظف " ونوعه نص .
    - انشاء جدول ثاني يحتوي على حقل واحد من النوع " رقم " .
    مثال : جدول باسم " مؤقت " يحتوي حقل واحــــــد فقط بإسم " رقم الموظف " ويكون نوع الحقل " رقم " وأجعل الخاصية "حجم الحقل " هي " عدد صحيح طويل " .
    - قم بإدخال سجل واحد فقط في الجدول " بيانات الموظفين " ، حيث يجب عليك هنا فقط أن تقوم بإدخال أي اسم موظف وليكن مثلاً " محمد " وسيكون رقم الموظف القيمة ( 1 ) تلقائياً .
    - قم بإدخال قيمه في الجدول الذي قمنا بتسميته " مؤقت " وتكون أقل بواحد من الرقم الذي تريد أن يظهر في جدول الذي قمنا بتسميته " بيانات الموظفين " .
    فمثلاً إذا أردت أن تبدأ الترقيم في جدول " بيانات الموظفين " بالقيمة ( 50 ) أدخل في الحقل الموجود بالجدول الذي قمنا بتسميته " مؤقت " القيمة ( 49 ) .
    - قم بإنشاء إستعلام إلحاق وقم بتسميته " إضافه رقم " ، وذلك من أجل إضافة قيمة الحقل الوحيد في الجدول " المؤقت " إلى قيمة الحقل في الجدول " بيانات الموظفين " .
    - قم بتشغيل استعلام الإلحاق " إضافة رقم " ، حيث سيتم إضافة قيمة الحقل في الجدول " مؤقت " إلى قيمة الحقل في جدول " بيانات الموظفين " .
    - قم بفتح الجدول " بيانات الموظفين " حيث ستجد في السجل الأول الحقل " رقم الموظف " ويحوي القيمة ( 1 ) والحقل " اسم الموظف " الذي يحوي على القيمة ( محمد ) وسجل ثاني يحوي الحقل الأول " رقم الموظف " القيمة ( 49 ) والحقل " اسم الموظف " يوجد به قيمة خالية .
    - قم بحذف السجل الأول والثاني في جدول " بيانات الموظفين " والذي قمنا بوصفهما في الفقرة السابقة .
    - قم بحذف استعلام الإلحاق " إضافة رقم " وكذلك الجدول " مؤقت " فلم تعد بحاجه لهما .
    - عند فتح الجدول " بيانات الموظفين " ستجد أن Access عند إضافتك لسجل جديد يتابع عملية الترقيم بدءً من القيمة ( 50 ) .

    ما هو الأنسب إستخدام حقل من النوع " نص " أو حقل من النوع " مذكرة " لحفظ نص متوسط الحجم ؟
    معايير إختيار حقل من النوع " نص " هي :
    - إذا كنت تريد إستخدام الحقل كجزء من علاقة .
    - إذا أردت فهرسة الحقل .
    - إذا كان حجم البيانات المدخله أقل من 255 حرف .
    معايير إختيار حقل من النوع " مذكرة " هي :
    - إذا علمت أنك ستحتاج حفظ أكثر من 255 حرف في الحقل .

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

    ما هي الفائدة من تعريف مفتاح أساسي بالجدول ؟
    - إنشاء فهرس يمكن من خلاله تسريع عمليات الفرز والاستعلام .
    - بناء علاقات بين الجداول .
    - عدم وجود سجلات مكررة ، إذ أن Access لا يسمح بإنشاء سجلين بنفس القيمة في حقل مفتاح أساسي .

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

    ما هو الفرق بين خاصتي " قناع الإدخال " و " تنسيق " ؟
    - خاصية " قناع الإدخال " : تحدد نوع القيمة المدخلة التي يمكن كتابتها في الحقل ، حيث تفرض شكلاً معيناً تكون مجبراً على سلوكه عند الإدخال .
    - خاصية " تنسيق " : تؤثر على البيانات في الحقل بعد إدخالها ، فهي تغير طريقة عرض البيانات .




    خطوات تصميم قاعدة البيانات بإستخدامAccess


    فيما يلي الخطوات الأساسية لتصميم أي قاعدة بيانات:‏
    ‏1 تحديد الغرض من قاعدة البيانات.‏
    ‏2 تحديد الجداول التي تحتاج إليها في قاعدة البيانات.‏
    ‏3 تحديد الحقول التي تحتاج إليها في الجداول.‏
    ‏4 تعريف الحقول بواسطة قيم فريدة.‏
    ‏5 تحديد العلاقات بين الجداول.‏
    ‏6 تحسين التصميم.‏
    ‏7 إضافة بيانات وإنشاء كائنات قاعدة بيانات أخرى.‏

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

    ‏2 تحديد الجداول التي تحتاج إليها:‏
    قد يكون تحديد الجداول أكثر الخطوات خداعاً في عملية تصميم قاعدة البيانات، ويرجع ‏السبب في ذلك إلى أن النتائج التي تريد الحصول عليها من قاعدة البيانات، من أمثلة ‏التقارير المراد طباعتها والنماذج المراد استخدامها والأسئلة المراد الإجابة عليها، لا توفّر ‏بالضرورة معلومات إرشادية حول هياكل الجداول التي تخرجها!! لست بحاجة إلى تصميم ‏الجداول باستعمال ‏Microsoft Access‏ ، بل قد يكون من الأفضل تخطيط ‏أوصاف التصميم ومراجعته على الورق أولاً. عند تصميم الجداول، عليك بتقسيم ‏المعلومات، وذلك من خلال تذكر مبادئ التصميم الأساسية الآتية:‏
    ‏- لا يجب أن يتضمن الجدول معلومات مكررة .‏
    ‏- لا يجب تكرار المعلومات بين الجداول ، حيث أنه عند تخزين كل معلومة في جدول ‏واحد فقط، يتم تحديث هذه المعلومة في مكان واحد، مما يزيد من كفاءة العمل ويقضي ‏على احتمال الإدخال المكرر الذي يتضمن معلومات مختلفة. فقد ترغب على سبيل المثال ‏بتخزين عنوان العميل ورقم هاتفه مرة واحدة، وفي جدول واحد.‏
    ‏- يجب أن يتضمن كل جدول معلومات عن موضوع واحد، أي عند احتواء كل جدول ‏على حقائق عن موضوع واحد، يمكنك الاحتفاظ بمعلومات حول كل موضوع على حدة ‏بعيداً عن المواضيع الأخرى ، على سبيل المثال، تخزَّن عناوين العملاء في جدول مختلف عن ‏طلبات العملاء، حتى تتمكن من حذف إحدى الطلبات مع الاحتفاظ بمعلومات العميل .‏

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

    ‏4 تعريف الحقول بواسطة قيم فريدة: ‏
    ‏- حتى يتمكن ‏Microsoft Access‏ من ربط المعلومات المخزَّنة في جداول ‏منفصلة، كربط عميل بجميع الطلبات الخاصة به .‏
    ‏- يجب أن يتضمن كل جدول في قاعدة البيانات حقل (أو مجموعة من الحقول) يُعرّف ‏كل سجل في الجدول بشكل فريد، ويسمى هذا الحقل (أو مجموعة الحقول) مفتاحاً ‏أساسياً .‏

    ‏5 تحديد العلاقات بين الجداول:
    بعد تقسيم المعلومات إلى جداول وتعريف حقول المفاتيح ‏الأساسية، ستحتاج إلى طريقة لإبلاغ ‏Microsoft Access‏ بكيفية إحضار ‏المعلومات المرتبطة معاً مرة أخرى بطرق ذات معنى. ولعمل ذلك، عليك بتعريف ‏العلاقات بين الجداول.‏

    ‏6 تحسين التصميم:
    بعد تصميم احتياجاتك من الجداول والحقول والعلاقات، يحين الوقت ‏لدراسة التصميم واكتشاف أي خلل لا يزال موجوداً، فمن الأسهل تغيير تصميم قاعدة ‏البيانات الآن عنه بعد تعبئة الجداول بالبيانات. استخدم ‏Microsoft Access‏ ‏لإنشاء الجداول، وتحديد العلاقات بينها، وأدخل بعض سجلات البيانات في كل جدول. ‏اختبر إمكانية استخدام قاعدة البيانات في الحصول على ما تريد من إجابات. أنشئ ‏مسودات تجريبية للنماذج والتقارير واختبر إظهارها للمعلومات كما كنت تتوقع. ابحث ‏عن التكرار غير الضروري للبيانات واستبعده.‏

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





    مقدمة لتصميم قاعدة بيانات ‏فيAccess ‎

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


    خطوات انشاء قاعدة البيانات ( اعضاء الموسوعة ) و خطوات تصميم جدول ( بيانات الاعضاء ) :
    1 انقر على زر إبدأ ثم أنقر على برامج .
    2 من البرامج إنقر على مايكروسوفت آكسس .
    3 عندها تظهر لك شاشة الحوار " إنشاء قاعدة بيانات جديد بإستخدام " ، أختر منها " قاعدة بيانات Access فارغة " ثم أنقر موافق .
    4 تظهر لك شاشة الحوار " ملف قاعدة بيانات جديدة " والتي من خلالها نقوم تسمية وإنشاء ملف قاعدة البيانات حيث نضع إسماً وصفيــــــــــــــا لقاعدة البيانات يعبر عن الغرض منها ويتم ذلك في خانة " اسم الملف " ، لذلك قم بتسمية ملف قاعـــــــدة البيانات " اعضاء الموسوعة " ثم أنقر موافق .
    5 إتجه إلى اليمين وانقر على كائنات وحدد " جداول " ثم انقر على جديد بشريط الأدوات .
    6 تظهر لك شاشة حوار " جدول جديد " حدد منها طريقة عرض التصميم ثم انقر موافق .
    7 تظهر لك شاشة تصميم حقول الجدول حيث ستلاحظ وجود ثلاث أعمدة بالعناوين التالية : اسم الحقل - نوع البيانات - الوصف .
    8 سنحتاج نحن هنا ( حسب الغرض من قاعدة البيانات الذي وضحناه في المقدمة ) إلى إنشاء ثلاثة حقول وهي : الرقم - اسم العضو - الدولة .
    9 نضع مؤشر الكتابة تحت العمود اسم الحقل بالصف الأول ونكتب " الرقم " ثم ننتقل إلى العمود الثاني ونحدد نوع البيانات المدخلة في هذا الحقل من القائمة بـ " ترقيم تلقائي " ، بالنسبة للعمود الثالث ليس ضرورياً ان نكتب فيه شيء إلا إذا أردت ان تكتب وصفاً لنفسك يذكرك بالغرض من إنشائك لهذا الحقل أو في حال أردت ان يطلع أحد على قاعدة البيانات فتضع له وصفاً يسهل عليه فهم قاعدة البيانات .
    10 ننتقل إلى الصف الثاني وبالتحديد تحت العمود الأول ( اسم الحقل ) ونكتب اسم الحقل الثاني والذي هو " اسم العضو " ثم ننتقل إلى العمود الثاني ونحدد نوع البيانات المدخلة في هذا الحقل بـ " نص " ، ولاحظ عند إنشائك لأي حقل يمكنك تحديد خصائص له تميزه عن غيره وهي موجودة بأسقل الشاشة حيث يمكنك الانتقال لها عن طريق الضغط على مفتاح " F6 " او النقر بزر الماوس الأيسر بالأسفل كي تتمكن من تعديل خصائص الحقل حسب الغرض منه ، انظر الخطوة رقم 13 .
    11 ننتقل إلى الصف الثالث وبالتحديد تحت العمود الأول ( اسم الحقل ) ونكتب اسم الحقل الثالث والذي هو " الدولة " ثم ننتقل إلى العمود الثاني ونحدد نوع البيانات المدخلة في هذا الحقل بـ " نص " .
    12 وبهذا نكون قد قمنا بإنشاء الحقول التي نحتاجها في قاعدة البيانات " أعضاء الموسوعة " .
    13 بقي علينا ان نقوم بتغيير خاصية لحقل " اسم العضو " حتى نضمن عدم تكرار إدخال اسم العضو ، وهذه الخاصية هي ( مفهرس ) ونجعلها نعم ( بدون تكرار ) . ويتم ذلك عن طريق النقر على مفتاح " F6 " ثم وضع المؤشر امام هذه الخاصية ونختار من القائمة نعم ( بدون تكرار ) . 14 والان يجب علينا حفظ الجدول وتحديد اسم له ويتم ذلك عن طريق قائمة ملف ثم نختار حفظ ، عندها يظهر لنا مربع حوار الحفظ ونقوم بتسمية الجدول " بيانات الاعضاء " ثم ننقر موافق . 15 ستظهر لك شاشة تحتوي على تنبيه بضرورة ان يكون هناك مفتاح اساسي ( ليس هناك حاجة حالياً لإنشاء مفتاح اساسي ) ، انقر على " لا " . 16 افتح قائمة ملف واختر منها إغلاق . إدخال البيانات بالجدول :

    وبهذا نكون قد إنتهينا من إنشاء قاعدة البيانات و تصميم الجدول الذي نحتاجه لتخزين البيانات وحفظها .




    تصميم الاستعلام

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

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





  2. #2
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    تصميم نموذج إدخال‎ ‎البيانات

    المرحلة الثالثة أولاً :
    تصميم نموذج إدخال بيانات الأعضاء .

    الآن لنبدأ بالتعرف على طريقة تصميم النموذج الأول :
    إدخال بيانات الأعضاء :


    1 حدد الكائن نماذج وانقر على جديد بشريط الأدوات .

    2 تظهر لك نافذة بعنوان " نموذج جديد " حدد منها نموذج تلقائي : جدولي .

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

    أنقر على زر موافق .

    4 ستظهر لك النافذة بالشكل التالي :




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

    6 بعد أن ننتقل إلى عرض التصميم نقوم بفتح قائمة عرض مرة أخرى ونختار منها " خصائص " ونقوم بعمل التعديلات على خصائص النموذج كما هو موضح بالشكل التالي :




    7 لقد قمت بإ،جراء بعض التعديلات على تنسيق النموذج ليظهر لنا بالشكل التالي :




    8 وبهذا نكون قد إنتهينا من تصميم النموذج الأول والذي يستخدم في إدخال بيانات الاعضاء .
    تصميم نموذج استعراض البيانات‏


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

    أولاً : تصميم تقرير يكون ناتجة طباعة بيانات الأعضاء من جدول بيانات الأعضاء .
    الآن لنبدأ بالتعرف على طريقة تصميم التقرير الأول :
    تصميم تقرير يكون ناتجة طباعة بيانات الأعضاء من جدول بيانات الأعضاء .

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

    ثانياًً : تصميم تقرير يكون ناتجة طباعة إجمالي الأعضاء من كل دولة .
    الآن لنبدأ بالتعرف على طريقة تصميم التقرير الثاني :
    تصميم تقرير يكون ناتجة طباعة إجمالي الأعضاء من كل دولة .

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



  3. #3
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    أساسيات في Access
    ما هو آكسس ( Access ) ؟
    برنامج إدارة قواعد بيانات قوي ومصمم بحيث يمكن إستخدامه بسهولة .

    ما هي قاعدة البيانات ؟
    ملف واحد يتضمن عدة كائنات Access تتعامل معها بشكل منتظم ( جداول ، استعلامات ، نماذج ، تقارير ، وحدات ماكرو ، وحدات نمطية ) .

    ما هو الجدول ؟
    يتم فيه حفظ البيانات ، وهو مرتب وفق تنسيق سطر وعمود حيث يحتوي كل عمود( حقل ) نوعاً محدداً من البيانات مثل " رقم الموظف " ، " اسم الموظف " وكل سطر ( سجل ) يتضمن كل المعلومات التابعة لقيمة مدخلة واحدة مثل المعلومات الخاصة بموظف معين ، مثل " رقم الموظف " ، " اسم الموظف " ، " المرتبة " ، " العنوان " ، " المدينة " .

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

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

    ما هو التقرير ؟
    يستخدم لعرض البيانات ومن ثم طباعتها ، ولا يمكن إستخدامه لإدخال البيانات .

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

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

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

    كيف أقوم بإصلاح ملفات Access المعطوبة ؟
    إذا كنت تعلم أي ملفـــــــــــــــــــات البرنامج هو المعطوب يمكنك حذفه ثم تشغيل برنامج الإعداد وإختيار " ( Add or Remove Features ) " لتتم إضافة نسخة صحيحة من الملف .
    أما إذا لم تكن تعلم أي ملفــــــــــات البرنامج هو المعطوب قم بتشغيل برنامج الإعداد ( Setup ) ثم إختر ( Remove Office ) ثم أعد تثبيت Access بإستخدام برنامج الإعداد ثانية .

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


    دورة الأكسيس : الدرس الأول : مقدمة عامة

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

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

    ما هي قاعدة البيانات ؟
    قاعدة البيانات هو أحد وسائل حفظ وترتيب البيانات بصورة معينة ( جداول - حقول ) مع ايجاد علاقات ، وتحتوي على بعض التقنيات والأدوات التي تسهل الوصول إلى المعلومات . وتقلل من حجم التخزين .
    ومن امثلة قواعد البيانات Access ، Sql Server , FoxPro من انتاح شركة مايكروسوفت اضافة إلى منتجات من شركات أخرىمثل أوراكل .
    وتسمى هذه البرامج نظم ادارة قواعد البيانات DBMS وتشترك جميعها في التركيب الاساسي لقواعد البيانات ، كما انهم جميعاً يستخدمون لغة الاستعلامات المركبة SQL القياسية .


    والآن سنتعرف على معنى بعض المصطلحات الأساسية في قواعد البيانات والتي سوف نعتمد عليها في شرحنا مستقبلاً إن شاء الله .

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

    الجدول - Table :
    يحتوي الجدول على المعلومات التي نود حفظها في قاعدة البيانات في ترتيب معين على شكل صفوف وأعمدة .
    وهذه الصورة تمثل جدولاً ما .


    الإستعلام - Quires :
    يقوم الإستعلام بمهمة تعيين سجلات معينة أو حقول معينة والتي يمكن أن تحقق شرطاً معينا .
    وهذه صورة لاستعلام يتضمن اسماء الأشخاص الذين تزيد أعمارهم عن 18 سنة .

    في حين أن الجدول الرئيسي هو :

    السجل - Record :
    يشكل كل سجل شخصاً أو سلعة و مجموعة بيانات لوصف عنصر مستقل ، ما وتوجد لها قيم في كل حقل .

    الحقل - Field :
    يشكل الحقل نوعاً معيناً من البيانات سيتم اضافته لكل سجل .
    الشكل التالي يمثل حقل البريد الإلكتروني .

    نوع البيانات - Data Type :
    تعتبر خاصية للحقل وتحدد نوع البيانات التي ستظهر في الحقل .
    والشكل التالي يوضح أنواع البيانات في جدول الأصدقاء مثلاً :

    وسوف نتعرف بصورة سريعة على اشهر انواع البيانات لاحقاً .

    Primary Key - المفتاح الرئيسي :
    نوع معين من الحقول لا يُسمح بتكرار قيمته لأي سبب ... مثال ذلك الحقل الخاص بالرقم القومي للمواطن .

    Relationship - العلاقة :
    تشكل علاقة معينة بين حقلين في جدولين مختلفين ، وسوف نتعرض لأنواع العلاقات لاحقاً .

    Report - التقرير :
    هو تجميع لبعض البيانات كي تشكل معلومات مفيدة تمهيداً لطباعتها - غالباً -
    مثال ذلك تقرير يقوم بحساب الصادر والوارد ليقوم بعرض الأرباح .

    أشهر أنواع البيانات :

    البيانات النصية - Text .
    يحتوي هذا النوع من البيانات على جميع النصوص والأرقام بشرط أن لا يكون الرقم هو الخانة الأولى .

    بعض الخصائص المهمة للحقول النصية :
    Field Size : تحتوي على الحد الأقصى من الخانات التي يمكن كتابتها في الحقل .
    Default Value :
    تحتوي على القيمة الإفتراضية للحقل .
    Required :
    إذا احتوت على True فهذا يعني أنه لا بد من ادخال قيمة وإلا لن تنجح عملية الأدخال .

    البيانات الرقمية - Number .
    تحتوي على البيانات الرقمية بمختلف أنواعها والتي يمكن أن نحددها من خاصية Field Size .

    الخصائص المهمة للحقول الرقمية :
    Field Size : تحتوي على أحد الخصائص التالية :
    Byte :
    تحتوي على أرقام بين 1 و 255 بلا كسور .
    Decimal :
    تحتوي على أرقام بين بين 10^28 إلى -10^28 في ملفات .mdb العادية - يمكن أن يحتوي على كسور - .
    Integer :
    تحتوي على أرقام بين -32768 إلى 32767 .
    Long Integer :
    تحتوي على أرقام بين -2147483648 إلى 2147483647 .
    Single :
    يمكن تقسيم الفترة الخاصة بها إلى قسمين ، وهو يسمح بالكسور ( المنازل العشرية )
    في الجزء السالب : من -3.402823 إلى -1.401298 * 10^-45 .
    في الجزء الموجب : 1.401298 * 10^-45 إلى 3.402823 .
    Double :
    أيضاً يمكن تقسيم الفترة إلى قسمين وهو يسمح بالكسور .
    في الجزء السالب : -1.79769313486231 * 10^308 إلى -4.94065645841247 * 10^-324
    في الجزء الموجب : 4.94065645841247 * 10^-324 إلى 1.79769313486231 * 10^308 .

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

    أما بقية الخصائص فهي مشابهه لخصائص النصوص .

    بيانات الوقت والتاريخ Date/Time .
    تحتوي على بيانات تعرض الوقت والتاريخ ، وأهم خصائصها هي خاصية Format ، والتي تحتوي على أشكال مختلفة من تنسيقات الوقت والتاريخ .

    بيانات العملة Currency .
    لعرض العملة وأهم خصائصها هي Format والتي تعرض أنواع مختلفة من تنسيقات العملة .

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

    المذكرة Memo .
    يتميز هذا النوع بأنه يمكن أن يحتوي على بيانات من أي نوع بكمية ضخمة جداً . أو حتى 2GB كما تذكر Microsoft .

    نعم/لا Yes/No .
    يحتوي هذا الحقل على قيم تأخذ حالة من اثنتان ، إما صحيحة أو خاطئة .
    أهم خاصية هي خاصية Defult Value والتي تحدد هل يكون في حالته الافتراضية صحيحاً أم خاطئاً .

    كائن OLE Object .
    يمكن أن نضع فيها كائناً مثل مستند وورد على سبيل المثال .

    ارتباط تشعبي HyperLink .
    يمكن وضع رابط لصفحة أو مسار لملف على جهاز الكومبيوتر .

    في الدرس القادم سوف نقوم ببناء الجداول من خلال Microsoft Access .

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


    دورة الأكسيس : الدرس الثاني : مقدمة لأكسيس

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

    سوف نقوم الآن بانشاء قاعدة بيانات بسيطة نعمل معها خلال المرحلة الأولى من هذه الدورة .

    سنبدأ أولاً بتشغيل برنامج مايكروسوفت أكسيس Microsoft Access ... من قائمة البرامج اختر البرنامج بالشكل التالي :

    ونفس النظام بالنسبة لباقي اصدارات الويندوز .

    سنختار قاعدة بيانات فارغة Blank Database ... وسيطلب منا البرنامج تخزين قاعدة البيانات وسنقوم بحفظها بالاسم Db_Friends .

    *** ملاحظة مهمة : هذه الصور من Microsoft Access XP والفروق طفيفة عند العمل على اصدرات أخرى .

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

    وسنختار Create Table in Design View - انشاء جدول في طريقة عرض التصميم .

    ستظهر لنا شاشة فارغة بالشكل التالي :

    1 - هذه هي المنطقة التي سنكتب فيها اسماء الحقول Fields Name .
    2 -
    هذه هي المنطقة التي سنكتب فيها نوع بيانات الحقل DataType .
    3 -
    في هذه المنطقة سوف تظهر خصائص الحقول بمجرد اضافة أي حقل.

    سنبدأ الآن فيتصميم نوتة الهواتف الخاصة بنا والتي ستحتوي على المعلومات التالية :
    الرقم - الإسم الأول - الإسم الأخير - رقم الهاتف - العنوان - البريد الإلكتروني - الموقع الشخصي - متزوج - ملاحظات .

    وذلك بالشكل التالي :

    أولاً : حقل الرقم .
    Field Name - اسم الحقل
    Number
    Data Type - نوع البيانات
    Number - رقم

    وفي الخصائص :
    Field Size -
    طول الحقل :
    Integer - رقم صحيح .
    وقد قمنا بذلك لأنه الرقم الصحيح يوفر لنا عدداً لا بأس به - لن تضيف ضمن أصدقائك أكثر من 32767 صديق - وفي نفس الوقت تستهلك 2 بايت من الذاكرة .
    Required -
    مطلوب :
    Yes - نعم .

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


    ثانياً : حقل الإسم الأول :
    Field Name - اسم الحقل
    F_Name
    Data Type - نوع البيانات
    Text - نص

    وفي الخصائص :
    Required -
    مطلوب :
    Yes - نعم .

    ثالثاً : حقل الإسم الأخير :
    Field Name - اسم الحقل
    L_Name
    Data Type - نوع البيانات
    Text - نص

    وفي الخصائص لن يكون بالضرورة الإسم الأخير موجوداً ... لذا فسنترك خاصية Required .

    رابعاً : حقل رقم الهاتف :
    Field Name - اسم الحقل
    Phone
    Data Type - نوع البيانات
    Number - رقم

    خامساً : حقل العنوان :
    Field Name - اسم الحقل
    Address
    Data Type - نوع البيانات
    Memo - مذكرة

    سادساً : حقل البريد الإلكتروني :
    Field Name - اسم الحقل
    Email
    Data Type - نوع البيانات
    Text- نص

    سابعاً : حقل الموقع الشخصي :
    Field Name - اسم الحقل
    Site
    Data Type - نوع البيانات
    Hypher Link - رابط تشعبي

    ثامناً : حقل متزوج :
    Field Name - اسم الحقل
    Marry
    Data Type - نوع البيانات
    Yes/No - نعم/لا
    حيث سنرمز للمتزوج بنعم Yes ، ولغيره بلا No .

    وسنضبط خاصية Default Value لخيار ( متزوج - Marry ) بحيث نكتب No .

    تاسعاً : حقل الملاحظات :
    Field Name - اسم الحقل
    Memo
    Data Type - نوع البيانات
    Memo - مذكرة

    عاشراً: حقل العمر :
    Field Name - اسم الحقل
    Age
    Data Type - نوع البيانات
    Number- مذكرة

    وخاصية Field Size يشير إلى Byte حيث ان عمر الشخص لن يتعدى - بإذن الله - 255 .

    ولا تنس ان تضبط بعض الخصائص كما ترغب لاحقاً .

    والملف التالي يوضح ما سبق


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

    قم الآن بادخال عدد من البيانات تمهيداً لاجراء بعض العمليات عليها .

    عمليات قواعد البيانات :


    أولاً : عملية الإضافة .
    أول عملية ينبغي معرفتها هي عملية الإضافة Add وفي الأكسيس كل ما نقوم به هو الكتابة في أحد السجلات RecordSet وسيبثق لك تلقائياً سجلاً آخر بعده يمكنك اضافته إن أردت .
    لاحظ أنه لا بد من كتابة بيانات جميع الحقول التي ضبطت خاصية ( Required - مطلوب ) لها بحيث تصبح ( Yes - نعم
    ) .
    لاحظ أيضاً أنه لن يسمح بتكرار قيمة في حقل Number لأنك عينته كمفتاح رئيسي Primary Key - جرب اضافة بيانات متشابهة وشاهد النتيجة
    - .

    ثانياً : عملية التعديل .

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

    ثالثاً : عملية الحذف .

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


    أيضاً يمكنك الضغط على زر Delete من الكيبورد .
    ستظهر لك رسالة تحذيرية - لاحظ أيضاً بإنه لن يمكنك التراجع - في حال كنت متأكداً قم بالموافقة وسوف يتم حذف السجل .


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

    رابعاً : عمليات النسخ والقص واللصق .
    يمكنك نسخ السجل بعد تحديده وكذا قصه - لاحظ أنه ستظهر لك رسالة تحذيرية شبيه بتلك التي تظهر عند الحذف - ، لاحظ أيضاً أنك لو قمت بلصق السجل والمؤشر على سجل آخر فسوف يستبدل بياناتهما .

    عملية البحث والإستبدال .


    قبل أن تبدأ أي عملية بحث فهناك خياران .
    الخيار الأول أن تبحث في حقل معين
    .
    والثاني أن تبحث في كافة الحقول
    .

    إذا كنت تريد الخيار الأول فلا بد أولاً أن تضع المؤشر في ذلك الحقل في أي سجل
    .
    أما الثاني فيمكن اختياره تلقائياً
    .

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


    الجزء الأول ( Find What - البحث عن )
    في هذا الجزء سوف نحدد الكلمة المراد البحث عنها
    .

    الجزء الثاني ( Look In - البحث في
    )
    في هذا الجزء نستطيع تحديد الحقل الذي نريد البحث فيه وهو الذي كان المؤشر عليه قبل عملية البحث ، أو اختيار الجدول كاملاً
    .

    الجزء الثالث
    ( Match )
    لدينا ثلاثة خيارات في هذ الجزء وهي
    :
    Any part Of Field - أي جزء من الحقل : يستخدم للبحث عن الكلمة في أي جزء من بيانات الحقل ، بمعنى أنك لو كتبت hm فسيظهر لك ( Ahmed و
    Mohamed )
    Whole Field - الحقل بالكامل : بهذه الطريقة سوف يبحث عن الحقول المطابقة لكلمة البحث ولذا لن يظهر شيئاً لو كتبنا
    ah .
    Start Of Field - بداية الحقل : سيبحث عن الحقل الذي تطابق بدايته كلمة البحث ، فمثلاً لو كتبنا ah سيعطينا Ahmed ولكنه لن يعطينا Mohammed لأنها لم تبدأ ب
    Ah .

    الجزء الرابع ( Search - البحث
    )
    لدينا ثلاثة خيارات هي ( All - الكل ) و ( Up - للأعلى ) و ( Down - للأسفل ) وتحدد شكل عملية البحث ، هل تتجه إلى الأسفل ابتداء من موضع المؤشر الحالية أم للأعلى أم تأخذ دورة
    .

    الجزء الخامس ( Match Case - مراعاة حالة الأحرف
    )
    إذا حددنا هذا الخيار فسوف يتأكد من أن الحرف مطابق في حالته ، فمثلاً لو بحثنا عن h لن تعطينا Hosame لأنها بدأت بحرف كبير
    - Capital .

    بعد أن نحدد جميع خياراتنا نستطيع بدء عملية البحث بالضغط على زر ( Find - بحث
    ) .

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

    * زر للبحث بدون استبدال
    .
    *
    زر الإغلاق
    .
    *
    زر استبدال الحالي
    .
    *
    زر استبدال الجميع
    .

    آخر جزء سوف نتتطرق إليه في عملية البحث هو عملية البحث بالتشابه باستخدام علامة الإستفهام( ? ) .
    نستطيع كتابة علامة الإستفهام ضمن كلمة البحث للدلالة على حرف أو رقم ما ... جرب البحث عن الكلمة التالية
    .
    ?Ho
    لتشكل ( حرفاً ما ، H ،
    o )
    ستجد أنها لن تعطيك Hosame لأنه لا يوجد فيها ما يقوم مقام علامة الإستفهام ، في المقابل ستعطيتك كلمة Yahoo لوجود حرف a قبل المقطع
    ho .

    تجربة أخرى ، جرب البحث عن الكلمة التالية
    :
    No ????
    ستجد أنها ستعطينا No Memo وأيضاً No Site ... ما عدا تلك الموجودة في السجل رقم 8 لأننا كتبناها خطأ
    No Mem .

    نستطيع عرض السجلات بصورة أخرى بالشكل التالي
    :

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

    عملية الترتيب Sort .

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

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


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

    النماذج Forms :


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

    بعد أن تقوم بفتح قاعدة البيانات اختر نماذج - Forms وسيظهر لك أحد الإختيارين التاليين
    انشاء نموذج في طريقة عرض التصميم
    - Create form in Design view
    انشاء نموذج باستخدام المعالج
    - Create form by using wizerd

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


    سيظهر لنا مربع حواري بالشكل التالي :


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

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


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


    قم الآن بعرض تصميم النموذج ... وسنقوم بأول عملياتنا .
    سنقوم بتحريك بعض الأدوات - مثل الفيجوال بيسك تماماً - ، وسنغير مثلاً حجم حقل البريد الإلكتروني لتعطينا الشكل التالي مثلاً .


    لاحظ أنه لكي تحرك مربع نص TextBox دون تحريك مربع العنوان لا بد من أن تسحب المربع من أعلى اليسار - سيصبح المؤشر على هيئة يد تؤشر بالسبابة - بالشكل التالي :
    لاحظ أيضاً أن الأدوات التي على اليسار شبيهه جداً بأدوات الفيجوال بيسك في التعامل معها .

    وحتى هذه اللحظة فإن هذه العمليات موجودة في هذا الملف

    http://www.c4arab.com/images/lessons/databases/general/cpic/db2.zip

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


    سنضغط عى صورة زر الأمر CommandButton . ثم نقوم برسمها على الفورم .
    ستظهر لنا شاشة تطلب منا تحديد نوع العملية Categories والحدث Action ... في البداية سوف ننشأ زر خروج وستكون معلوماته بالشكل التالي :
    نوع العملية : Application - تطبيق
    .
    الحدث : إنهاء التطبيق
    - Quit Application .
    ثم نضغط التالي .
    سيطلب منك تحديد الصورة أو النص الذي تريده أن يظهر ، اختر ما يحلو لك ، ثم اضغط التالي .
    في الشاشة الأخيرة سوف نقوم بتسمية زر الأمر ، سنسميه Cmd_Exit .

    شغل الآن النموذج وقم بالضغط على الزر ... جرب تنفيذ الأمر .
    الآن قم وبنفس الطريقة باضافة أزرار حتى يصبح النموذج بالشكل التالي .



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


    غير أي خاصية تريد تغييرها ولاحظ النتيجة .

    أيضاً سنقوم باضافة زر خاص يحتوي على رسالة تظهر مؤلف البرنامج ، لذا أزل التأشير من على علامة المعالج ، واختر زر أمر وقم برسمه على الفورم ... اضغط عليه واكتب نص مثلاً About .
    اضغط الآن زر الماوس الأيسر واختر ( بناء حدث - build events ) - ثم اختر من مربع الحوار ( code builder ) .
    ستظهر لنا شاشة مثل شاشة كود الفيجوال بيسك ، وسوف نكتب فيها الأمر التالي :
    [شفرة]
    MsgBox "Programming By : Ahmed Gamal", vbInformation, "About[/شفرة]"


    تماماً مثل كود الفيجوال بيسك وذلك بالشكل التالي :


    الآن اغلق محرر فيجوال بيسك وجرب زر الأمر الجديد .

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

    [شفرة]
    Text30.Text = DateTime.Time[/شفرة]


    آمل أن يتكون لديك نموذج قريب من هذا الشكل :



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

    والملف الآن بعد هذه التعديلات هو

    http://www.c4arab.com/images/lessons/databases/general/cpic/db3.zip

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



  4. #4
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    دورة الأكسيس : الدرس الرابع : العلاقات

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


    العلاقات RelationShip

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


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

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

    لتلافي ذلك فإننا نستخدم ما يعرف بالعلاقات
    RelationShip .


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

    تبقى شيء واحد وهو الحقل الذي يمثل رابطاً بين الجدولين .

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

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


    النوع الثاني :
    One To Many - علاقة واحد لمجموعة ( والعكس صحيح ) .
    في هذه العلاقة نقول إن لكل سجل في الجدول الرئيسي مجموعة سجلات في الجدول الثاني .
    مثال ذلك المثال الذ قمنا بشرحه في الدرس السابق .
    لو لاحظت المثال ستجد أن مجموعة من الطلاب يمكن أن يكون لهم سجل واحد في جدول الفرق ، لكن لا يمكن أن يكون لطالب ( سجل ) واحد أكثر من سجل آخر في جدول الفرق ( السنوات الدراسية ) .
    وهذا هو الفرق بينه وبين النوع التالي .
    لذا قم بانشاء جدول ثالث تحت اسم
    Tb_R2 ويحتوي على الحقول التالية :
    Year - Books - Students
    السنة - الكتب - الطلاب
    يمكننا اضافة حقل جديد في الجدول الأول
    Tb_Main تحت اسم Year حيث سيكون هو الحقل الرابط بين الجدولين .
    قم بالضغط على الجدول الأول ، ثم اضغط على ( تصميم -
    Design ) ، ثم قم بالضغط بزر الماوس الأيسر في المكان المطلوب ثم قم بالضغط على ( ادراج صف - Insert Row ) .

    أيضاً لا تنس أن تجعل حقل
    Year مفتاح رئيسي في الجدول الثاني ( جدول الفرق الدراسية ) .

    *** هذا النوع من علاقات هي الأكثر استخداماً .

    النوع الثالث :
    Many To Many - علاقة مجموعة إلى مجموعة :
    هل تتذكر العبارة التالية التي أوردتها في الدرس السابق ؟
    لكن لا يمكن أن يكون لطالب ( سجل ) واحد أكثر من سجل آخر في جدول الفرق ( السنوات الدراسية ) .
    إذا أزلنا ( لا ) فإننا نكون قد حصلنا على النوع الثالث .
    مثال هذه العلاقة :
    لو أردنا أن نضيف جدولاً يحتوي على اللغات فإننا سنلاحظ التالي :

    * يمكن للشخص الواحد أن يكون له أكثر من لغة .
    * ويمكن للغة الواحدة أن تكون موجودة عند أكثر من شخص .

    للقيام بهذه النوعية من العلاقات فإننا نحتاج إلى جدول بسيط ، فمثلاً لدينا جدولين في البداية هما :
    الرقم - الاسم .

    1 - أحمد
    2 - محمد
    3 - خالد
    4 - سامي

    والثاني للغات :
    الرقم - اللغة

    1 - العربية
    2 - الانجليزية
    3 - الفرنسية

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

    1 - 1
    1 - 2
    2 - 3
    3 - 1
    3 - 2
    3 - 3

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

    http://www.c4arab.com/images/lessons/databases/general/cpic/db4.zip

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

    * عن طريق محرر العلاقات .
    * عن طريق المعالج الموجود في نوع البيانات
    Data Types الموجود في خصائص الحقل .

    وسوف نستخدم الطريقة الاولى .

    سنبدأ الآن بإنشاء العلاقات بين جدول الأصدقاء وجدول معلومات البطاقة الشخصية ( تذكر أن العلاقة من نوع واحد إلى واحد
    One To One ) .
    من قائمة (
    Tools - أدوات ) اختر ( Relationships - علاقات ) سوف تظهر شاشة فارغة - افتراضياً - ... اضغط بزر الماوس الأيمن واختر Show Tables - إظهار جداول ، وذلك بالشكل التالي :



    والآن قم باختيار الجداول واحداً تلو الآخر واضغط Add - اضافة ، وبعد الانتهاء اختر Close
    - إغلاق .
    سيظهر لك شكل كالتالي :



    الآن من قائمة Relationships - العلاقات ، اختر تحرير علاقة - Edit Relationship . سوف تظهر لك شاشة اختر منها Create New
    .
    سوف تظهر لك شاشة جديدة بالشكل التالي :



    في خاصية Left Table Name اختر الجدول الذي سيكون مصدراً للبيانات وهو عندنا Tb_Main

    وفي الجزء الأيمن اختر Tb_R1
    وبالنسبة لخاصية Left Column Name اختر الحقل الذي سيكون رابطاً من الجدول الرئيسي ، ولذا سنختار Number
    وفي الجزء الأيمن سيكون الحقل أيضاً هو Number .
    وذلك بالشكل التالي :



    قم الآن بالضغط على زر Ok
    وستظهر لك شاشة بالشكل التالي :



    لاحظ ظهور نوع العلاقة في الجزء الأسفل من الشاشة .
    أما بالنسبة لأزرار الاختيار :

    1 - مربع الإختيار الأول : في هذا الخيار تحدد إذا ما كنت تريد منع المستخدم على ادخال حقل في الجدول الثاني دون أن يكون له نظير في الجدول الأول .
    2 - مربع الإختيار الثاني : في هذا الخيار تحدد إذا ما كان تحديث بيانات الجدول الثاني عند تغيير قيم حقل المفتاح الرئيسي .
    3 - مربع الإختيار الثالث : في هذا الخيار تحدد إذا ما كنت تريد حذف بيانات الجدول الثاني عند حذف نفس السجل في الجدول الرئيسي .

    هناك زر آخر تحت اسم (
    Join Type - نوع الدمج ) وبها ثلاث خيارات لأنواع مختلفة من الدمج .

    والآن قم بالضغط على زر (
    Create - إنشاء ) . ستلاحظ ظهور رسم لعلاقة بين الجدولين وذلك بالشكل التالي :



    وبهذا نكون قد أنشأنا العلاقة الأولى من نوع One To One
    ... في العلاقة التالية سوف نستخدم المعالج .
    للتأكد من عمل هذه العلاقة اذهب إلى
    Tb_Main وانقر علامة + الموجودة على يساره ... أتمنى أن يظهر لديك الشكل التالي :


    سوف نقوم الآن بإنشاء العلاقة الخاصة بالسنة الدراسية ... لذا سوف نتجه إلى جدول
    TB_Main ونضغط Design ومن ثم نذهب إلى الحقل Year ونختار Lookup Wizard
    ، وذلك بالشكل التالي :



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

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



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

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



    أيضاً اختر الجدول Tb_R2
    وانقر علامة + سيظهر لك جميع الطلبة الذين ينتمون إلى هذه السنة وذلك بالشكل التالي :



    أخيراً سوف نلقي نظرة على شاشة العلاقات التي قمنا بتشغيلها في الدرس السابق ... سوف يظهر لك شكل قريب من التالي :



    الملف المرفق يحتوي على جميع العلاقات اضافة إلى جميع محتويات الدروس السابقة ، والله الموفق ...

    http://www.c4arab.com/images/lessons/databases/general/cpic/db5.zip




    دورة الآكسس: الدرس الخامس : بعض عمليات قواعد البيانات

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

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

    أولاً : عمليات الإستيراد والتصدير ( Import & Export ) .
    الإستيراد :

    نقصد بعملية الإستيراد جلب معلومات إلى قاعدة البيانات من خارجها ...
    من قائمة ملف
    File اختر ( جلب معلومات خارجية - Get External Data ) ومنها اختر ( استيراد - Import )
    اختر الملف الذ تريد استيراد جزء منه ... اختر أي ملف وليكن حتى نسخة من قاعدة البيانات الحالية .
    ستظهر لك شاشة ... قم بالضغط على ( خيارات -
    Option ) لتوسيع الشاشة بحيث تصبح بالشكل التالي :






    في الجزء العلوي نختار نوع محتوى قاعدة البيانات الذي نريد استيراده ... وليكن ( جداول - Tables ) واختر أي جدول من القائمة .
    أما الخيارات التي في الأسفل ففي الأول نحدد الاختيارات التي نريد أن نستوردها ( نجلبها ) مع قاعدة البيانات .
    وفي المنتصف نحدد إذا ما كنا نريد أن نستورد الجدول كبناء تصميمي فقط أم الجدول اضافة إلى البيانات بداخله .
    وأخيراً في اليمين نحدد إذا ما كنا نريد الاستيراد كجدول أو كاستعلام .

    اضغط موافق ولاحظ ظهور الجدول ضمن قائمة الجداول .

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

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

    افتح قاعدة البيانات الثانية ولاحظ ظهور الجدول الجديد فيها .

    قائمة الأدوات Tools Bar .
    تحتوي هذه القائمة على العديد من الخيارات المهمة لقواعد البيانات منها :

    1 - أدوات مساعدة لقواعد البيانات
    DatabaseUtilites .
    يهمنا في هذا الجزء عمليتان ... الجزء الأول هو تحويل قاعدة البيانات Convert Database
    يتيح لك هذا الخيار تحويل قاعدة بياناتك إلى اصدرات سابقة من أكسيس ... لكن لاحظ أنه لن يمكنك التغيير في بناء النسخة المحولة .
    نحتاج مثل هذه الخاصية مثلاً عند التعامل مع Data Control في الفيجوال بيسك والتي لا تتعامل إلى مع Access 97
    .

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

    2 - أمان
    Securty .
    نحتاج إلى فتح قاعدة البيانات بطريقة Exuclusive ... وذلك من خلال أمر فتح Open اضغط على المؤشر الصغير بجانب زر الفتح واختر Exuclusive وذلك بالشكل التالي :






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


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




  5. #5
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    دورة الأكسس: الدرس السادس : منوعات في أكسيس

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

    منوعات في أكسيس .

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

    1 – التقارير .
    إن التقارير هي واحدة من أهم العناصر في أي برنامج متكامل ، ويوفر لنا أكسيس طريقة مبسطة لبناء التقارير باستخدام المعالج كما أن باستطاعتنا بناء تقرير في طريقة عرض التصميم Design View ، والآن سنتبع الخطوات التالية لعمل تقرير يقوم بعرض أسماء وهواتف الأصدقاء .
    1 – من يمين الشاشة الرئيسية اختر تقارير – Reports .
    2 – اختر ( انشاء تقرير باستخدام المعالج ) .
    3 – ستظهر لك شاشة ، من اعلاها حدد الجدول tb_main وهو الجدول مصدر المعلومات ، ومن ثم حدد الحقول التي ترغب في اضافتها . وهنا سنختار
    Number – Fname – Lname – Phone
    ثم اضغط التالي .
    4 – ستعرض لك الشاشة التالية ما يعرف بفواصل التجميع ، لن نحتاج إليها هنا لذا اضغط التالي مباشرة .
    5 – الشاشة التالية ستطلب منك تحديد اسلوب لترتيب البيانات ، لا نحتاج إليها في هذا المثال السريع أيضاً لذا اضغط التالي مرة أخرى .
    6 – والآن يمكنك تحديد اتجاه التقرير ( عمودي – افقي ) ، وأسلوب الجداول أو الاعمدة للعرض ، اختر ما تريد ثم اضغط التالي .
    7 – بعد ذلك حدد نسق العرض الذي تريده ، ومن ثم اضغط التالي .
    8 – أخيراً اضغط انهاء .

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

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

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

    4 – وحدات الماكرو .
    من خلالها نستطيع تجهيز بعض الأوامر البرمجية للعمل على قاعدة البيانات ، فمثلاً :
    سنقوم الآن بانشاء ماكرو يقوم باغلاق قاعدة البيانات فور الضغط عليه ، ولعمل ذلك قم بالنقر من يمين الشاشة على ( وحدات ماكرو Macros ) ومن ثم اضغط على جديد .

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

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


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

    وسنرى مثلاً ما نحتاج إليه في نوتة هواتف بسيطة جداً .

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

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

    ختاماً انصح الجميع بمراجعة درسي الأستاذ أبو يزن حول قوائم الماكرو على هذا الرابط :
    http://www.c4arab.com/showlesson.php?lesid=1769
    http://www.c4arab.com/showlesson.php?lesid=1770
    درس الأستاذة رسيس على الرابط التالي :
    http://www.c4arab.com/showlesson.php?lesid=1584

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

    دورة الأكسيس : الدرس السابع : لغة الاستعلامات الهيكلية 1

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

    *** سلسلة دروس TSQL الموجودة في الموسوعة العربية أشمل من هذين الدرسين واللذين سيتم عرضهما هنا ، ولمزيد من التفصيل والتوضيح يفضل مراجعة هذه الدروسعلى هذا الرابط لمن يريد الاستزادة :

    لكن المطلوب منا فقط هو ما ذكر في هذه الدروس ..


    استخدام لغة ( تقنية ) الإستعلامات بطريقة TSQL (1) .

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

    ما هي SQL ؟
    هذه الكلمة اختصار ل Structured Query Language .
    وتصلح تقنية الاستعلام للعمل مع جميع أنواع قواعد البيانات : Oracle - Access - MS sql Server وغيرها
    .

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

    أين ستكتب جمل الإستعلام في أكسيس ؟
    اختر استعلامات Quires من القائمة التي كنا تختار منها Table أو Forms .
    اختر
    Ceate Quriry In Deign Viwe .
    ستظهر لك شاشة ... اختر اغلاق
    - Close .
    والآن من قائمة Query اخترSQL Specfic ومن ثم اختر Union وذلك بالشكل التالي
    :

    http://www.c4arab.com/images/lessons...al/cpic/44.jpg

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

    سوف نقوم بكتابة الإستعلام التالي :
    Select FName From Tb_Main;


    لا تقلق فلسوف نشرح ماذا يعني الأمر السابق
    !!!

    اضغط على حفظ واحفظه تحت الاسم الذي يناسبك ... وجرب تنفيذ الإستعلام بالضغط على علامة التعجب ... أيضاً أغلق الشاشة واضغط على اسم الإستعلام ... أتمنى أن تظهر لك في الحالتين شاشة شبيه بذلك :


    أيضاً للعودة لشاشة التصميم ... اضغط على الاسم بزر الماوس الأيمن واختر ( عرض التصميم - Design View ) وستظهر شاشة كتابة الكود
    .

    حتى هذه اللحظة فالتغييرات محفوظة في :

    http://www.c4arab.com/images/lessons/databases/general/cpic/db6.zip

    والآن سنبدأ في تفصيل جمل الاستعلام ، وسوف نتعرف أولاً على جمل البحث والتي تبدأ بـ Select . وهذه هي الصيغة العامة :

    Select Colums_Name From Table_Name;
    نلاحظ تكون جملة الإستعلام من أربعة أجزاء :
    Select : وهي التي تميز جملة البحث عن غيرها من جمل TSQL .
    Colum_Name :
    اسم الحقل أو العمود الذي تريد له أن يظهر .
    From :
    وهي أيضاً صيغة خاصة بجملة البحث وتتغير في باقي جمل TSQL .
    Table_Name :
    هنا نكتب اسم الجدول .

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

    لنلق نظرة على المثال السابق
    SELECT FName FROM Tb_Main;
    لاحظ أننا استخدمنا جملة Select لاستخراج الاسم الأول من الجدول Tb_Main .

    وبهذه الصورة يمكننا استخراج مواقع الأصدقاء وذلك بالشكل التالي
    SELECT Site FROM Tb_Main;
    وهكذا مع الباقي .
    وإذا كنا نريد استخراج أكثر من عمود فيمكننا وضعهم بالتوالي وتفصل بينهم الفاصلة ، فمثلاً لاستخراج الإسم الأول والإسم الأخير :

    SELECT FName,LName FROM Tb_Main;
    ومثلاً لاستخراج الإسم الأول والعمر والبريد الإلكتروني :

    SELECT FName, Age,EMail FROM Tb_Main;
    ولاستخراج جميع البيانات فإننا نضع * محل اسماء الحقول وذلك بالشكل التالي :

    SELECT* FROM Tb_Main;
    ولاستخراج البيانات ولكن بدون تكرار نستخدم DISTINCT ... فمثلاً لاستخراج الإسم الأول مع حذف التكرار :

    SELECT DISTINCT FNAme FROM Tb_Main;
    أيضاً لترتيب البيانات المخرجة تصاعدياً أو تنازلياً نستخدم الأمر :
    ORDER BY colum
    أو للتصاعدي
    ORDER BY colum DESC
    فمثلاً لاستخراج جمع البيانات مع الترتيب التصاعدي حسب الإسم الأول :

    SELECT * FROM Tb_Main ORDER BY FName DESC;
    ويمكننا عمل مستويين للترتيب - كما هو شائع - وذلك باستخدام الفاصلة ، فمثلاً للترتيب حسب الإسم الأول ومن ثم الإسم الأخير ولكن تنازلياً هذه المرة :

    SELECT * FROM Tb_Main ORDER BY FName,Lname ;
    أيضاً لاستخراج الإسم الأول تحت مسمى MyName فإننا نستخدم As وذلك بالشكل التالي :

    Select Fname as MyName From Tb_Main;
    وسنستفيد من As لاحقاً في عمليات الاستعلام باستخدام الدوال .

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

    SELECT Fname,Age+10 as Age2 FROM Tb_Main;
    لاحظ أنك تضطر إلى اعادة تسمية الحقل الناتج وإلا فإن Access سوف يضع له اسماً من عنده .

    ومثلاً لدمج الإسم الأول مع الإسم الأخير :

    SELECT Fname+ " " + LName As CName FROM Tb_Main;
    استخدام الجمل الشرطية مع أوامر الإستعلام
    استخدام معامل المساواة والمعاملات الرياضية .

    تأخذ صيغة استخدام المساواة كشرط في عملية الإستعلام الصيغة التالية :

    Select * From Tb_Main Where Field = Value;
    ويمكننا استخدام > أو < أو => أو =< أو <> وطبعاً = .
    وأخيراً معاملين جدد سنشرحهم بإذن الله لاحقاً وهما Like و Between .

    فمثلاً للاستعلام عن الأصدقاء الذي تساوي أعمارهم 18 سنة :

    SELECT * FROM tb_Main WHERE age = 18;
    ولعرض أسماء من هم أصغر من 50 سنة :

    SELECT FName,LName FROM tb_Main where age < 50;
    وسنضع Value بين علامتي تنصيص مفردة في حالة كانت نصوصاً وذلك بالشكل التالي - للبحث عن الأشخاص والذين لهم الإسم ( أحمد ) :

    SELECT * FROM tb_Main WHERE Fname = 'ahmed';
    كما سنضع علامتي # عند البحث عن تواريخ ، ولا توجد أمثلة لتاريخ في قاعدة البيانات ، لكنها تأخذ صيغة شبيهه بالتالي :

    Select * Form Table1 Where Date > #12/03/04#;
    والآن لندمج بعض ما تعملناه في جملة واحدة :
    لاستخراج الإسم الأول والأخير من الجدول بترتيب تنازلياً ومدمجة سوياً تحت اسم Name والتي تحقق شرط أن العمر أكبر من 17 :

    SELECT Fname & " " & Lname AS MyName FROM tb_Main WHERE age > 17 ORDER BY FNAME, LName DESC;
    والآن : ماذا لو أردنا البحث بتحقيق مجموعة شروط أو أحدها أو تحقيق شرط مع انتفاء آخر ؟

    من أجل هذا الغرض نستخدم المعاملات المنطقية البسيطة .


    لدينا نوعين من المعاملات المنطقية البسيطة الأكثر استخداماً
    :
    And : تعطي قيمة صحيحة True في حالة كان الطرفين صحيحاً والباقي false .
    Or :
    تعطي قيمة صحيحة True في حالة كان أحد الطرفين صحيحاً وإلا فإنه يعطي false .

    والآن إلى مثال سريع ، سنبحث عن الأشخاص الذين يكبر عمرهم عن 17 بشرط ألا يكونوا متزوجين :

    Select Fname from tb_main where age > 17 and marry = false;
    لنفترض أيضاً أننا نريد معرفة الأشخاص الذين تزيد أعمارهم عن 17 سنة وليس لديهم بريد الكتروني :
    قبل أن تجرب المثال قم بتشغيل قاعدة البيانات وقم بحذف البريد الإلكتروني لبعض الأشخاص ، واكتب للبعض كلمة No Mail وللآخرين No .
    الآن انظر الأمر التالي :

    SELECT * FROM Tb_Main WHERE age>17 And (Email='No' or Email='No Mail');
    سنفصل الآن هذه الجملة :
    * الشرط الأول : Age > 17 : العمر أكبر من 17 .
    *
    الشرط الثاني : Email = 'No' : البريد الإلكتروني يحتوي على كلمة No .
    *
    الشرط الثالث : Email = 'No Mail' : البريد الإلكتروني يحتوي على كلمة No Mail .

    واستخدمنا نوعين من المعاملات المنطقية And و Or .
    متى تحقق الشرط الأول ( العمر أكبر من 17 ) فإنه ينتظر تحقيق أحد الشرطين الذين تدمج بينهم Or .
    وعندها يعرض السجل الذي يحقق قيمة True لهذا التعبير .

    قبل النهاية كن حذراً عند استخدام And مع Or في جملة واحدة ، وذلك عن طريق ترتيب الأقواس بطريقة صحيحة .

    استخدام المعامل Like .

    نستخدم المعامل Like للبحث عن الكلمات المشابهه لتعبير معين ...
    ونستخدم للمعامل Like الصيغة التالية :

    Select * From Table Where Field Like '*Name*';
    نستخدم * للدلالة على وجود أحرف ما ... وقد نستخدمها في البداية ، أو النهاية ، أو كليهما . وسيتضح الأمر في الأمثلة :
    لعرض الأشخاص الذين قد تحتوي أسماءهم الأولى على hm ... لذا سنستخدم جملة استعلام بهذا الشكل :


    SELECT * FROM Tb_Main WHERE FName like '*hm*';
    أما لو أردنا البحث عن الأشخاص الذين تبدأ أسماءهم بحرف A لذا لن نضع * قبل كلمة البحث :

    SELECT * FROM Tb_Main WHERE FName like 'A*';
    ولو أردنا البحث عن الأشخاص الذين ينتهي اسمهم بحرف معين سنضع * في البداية دون النهاية .
    *
    في MS SQL Server نستخدم % بدلاً من * .

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

    إذن : ماذا لو أردنا أن نبحث عن الأشخاص الذين تبدأ أسماءهم بحرف A بشرط أن يكون عدد حروفهم 3 فقط
    .

    SELECT * FROM Tb_Main WHERE FName like 'A??';
    والآن إلى مثال واقعي نسبياً . جرب تعديل حقل العنوان Address للأشخاص بحيث يحتوي على أكثر من معلومة اضافة للمدينة .
    في هذه الحالة نستطيع استخراج الأشخاص الذين يسكنون مدينة واحدة عن طريق الشرط Like . هل تعرف كيف ؟؟؟

    استخدام المعامل Between .

    نستخدم هذا المعامل للبحث ضمن نطاق معين ، وأشهر استعمال لهذا المعامل هو استخدامه في البحث ضمن التواريخ .
    يأخذ البحث باستخدام between الصيغة التالية :


    SELECT colum FROM table WHERE field BETWEEN v1 AND v2;
    فمثلاً لاستخراج الأشخاص الذين تترواح أعمارهم بين 20 و 60 :

    SELECT *
    FROM tb_main
    WHERE age between 20 and 60;


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

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


    دورة الأكسيس : الدرس الأخير : لغة الاستعلامات الهيكلية 2

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


    سنبعد في درسنا هذا عن TSQL مؤقتاً عن جو البحث وسنتحدث عن اضافة وحذف الجداول في قواعد البيانات .
    سنبدأ أولاً بصيغة انشاء جدول وذلك بالشكل التالي :
    CREATE TABLE tb1 ( colum type, colum type,........);


    وكمثال على ذلك ... لننشئ جدولاً تحت اسم Tb2 يحتوي على حقلين : الإسم Name من نوع ( نص - String ) والآخر Age من نوع Number :
    CREATE TABLE tb1 (name text,age number );


    إذن ماذا لو أردنا أن نحدد حجم حقل العمر Name بخمس خانات فقط ... إذن ضع عدد الخانات بين قوسين مع تعيين نوع بيانات الاسم ك Text وذلك بالشكل التالي :
    CREATE TABLE tb1 (name text(6),age number );


    آخر نقطة سأشرحها في انشاء الجداول هي كيف نجعل الحقل لا يقبل فراغ - Null ... ولنجرب هذا المثال مع الإسم أيضاً :
    CREATE TABLE tb1 (name text(6) Not Null,age number );


    ولكن ماذا عن الحذف ... في الواقع هذا الكود يقوم بحذف الجدول الذي قمنا بإنشاءه تواً :
    DROP Table tb1;


    ولو كان هذا الجدول مرتبطاً بعلاقات فلا بد من تحديثها باضافة CASCADE إلى آخر الكود وذلك بالشكل التالي :
    DROP Table tb1 CASCADE;

    لا تنسى أن تنشأ الجدول بعد حذفه لأننا سوف نعمل عليه مجدداً .

    والآن سنبدأ في اضافة حقول إليه وذلك بعد عملية الانشاء - أعتقد أن الفرق بين الجدول وقاعدة البيانات والحقول أصبح واضحاً - .

    نستطيع اضافة الحقول بصيغة عامة بالطريقة التالية :
    ALTER TABLE tb1 ADD colum type;


    فلنضف حقلين جديدين : الأول هو تاريخ الميلاد ، والثاني النوع ( ذكر - أنثى ) .
    ALTER TABLE tb1 ADD birth_Date date,Gender Text;


    والآن لنحذف أحد هذه الحقول وليكن حقل Gender ... لاحظ أننا دائماً نضيف كلمة CASCADE لتحديث العلاقات - في حال وجودها - ، وذلك بالشكل التالي :
    ALTER TABLE tb1 DROP gender CASCADE;


    والآن سوف نتعلم اضافة السجلات ، وسوف نستخدم Tb_Main كجدول لنجرب أوامرنا عليه ، والآن إلى الصيغة العامة لأمر الإضافة :
    INSERT INTO table VALUES (v1, v2,......);


    لاحظ أننا سنمرر القيم واحداً وراء الثاني وتفصل بينهم فاصلة ، مع مراعاة وضع النصوص بين علامتي تنصيص "" والتواريخ بين علامتي ## .
    سنمرر القيم التالية : الرقم - الإسم الأول - الإسم الأخير - رقم الهاتف - العمر - العنوان - البريد الإلكتروني - السنة - اللغة - الموقع - متزوج/لا - ملاحظات .
    وذلك بالشكل التالي :
    Insert into tb_main values(11,'ahmed','gamal',6666666,18,'Cairo','Hamm ada2091','First Year','','',false,'');


    تواحهنا مشكلة وهو أننا جعلنا الرقم حقلاً وحيداً - لا تتكرر قيمه - لذا وجب علينا في كل مرة أن نغير الرقم ... برمجياً يمكننا ذلك ولكن من خلال الأكسيس جرب ازالة رقم 11 ووضع كلمة MyNumber بالشكل التالي :
    Insert into tb_main values(MyNumber,'ahmed','gamal',6666666,18,'Cairo' ,'Hammada2091','First Year','','',false,'');


    جرب تنفيذ جملة الإستعلام وستظهر لك رسالة تطلب منك ادخال قيمة MyNumber . ضع قيمة بشرط ألا تكون مكررة وسوف يتم اضافتها في الجدول .
    * ملاحظة :
    إن هذا الجزء في الأكسيس سيقابله متغير في الفيجوال بيسك .. كذا الامر بالنسبة للبحث .
    هل تتذكر جملة البحث التالية :
    Select * From Tb_Main where name='ahmed';

    جرب أن تزيل Ahmed وضع متغيراً MyName بالشكل التالي :
    Select * From Tb_Main where name = myname;

    وهذا يعطيك تحكماً فيما ترغب في البحث عنه ...
    التعديل :
    الصيغة العامة لتعديل بيانات سجل بالشكل التالي :
    UPDATE table_name SET colum1 = v1 , colum2 = v2 WHERE colum = v;


    سنجرب الآن مثالاً لجعل العمر = 28 والموقع = www.vb4arab.com للشخص الذي اسمه الأول ( Ahmed ) والاخير ( Gamal ) :
    Update tb_main set age=25 , site='www.vb4arab.com' where fname='ahmed' and lname='Gamal';


    ولكن ماذا لو كان الأمر يشمل أكثر من سجل . في الواقع هذا الأمر شائع ويشبهه المثال التالي :
    Update tb_main set fname='Ahmad' where fname='ahmed';


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

    ولكن ماذا لو أردنا تعميم التغييرات ... في هذه الحالة لن نضع الشرط ، ويمكن وضع أمر شبيه بالأمر التالي لزيادة الأعمار 5 سنوات :
    Update tb_main set age=age+5;


    يعتبر هذا الأمر من أكثر الأوامر شيوعاً في قواعد بيانات الشركات ... فمثلاً يستخدم لزيادة رواتب الموظفين بنسبة معينة ( يمكن أن تكون زيادة ثابته أو نسبيه ) .

    ولكن ماذا عن الحذف ... في الواقع تتخذ جملة البحث صيغة عامة كالتالي :
    DELETE FROM table WHERE colum = value;


    ويمكن أن يكون الحذف تحت تأثير تحقق أكثر من شرط .. في المثال التالي سوف نحذف جميع الأشخاص الذين تزيد أعمارهم عن الأربعين :
    Delete from tb_main where age>40;


    ولكن ماذا عن حذف كامل محتويات جدول ما ... هذه هي الطريقة :
    DELETE * FROM table;

    الدوال في الاستعلامات .

    تستخدم العديد من الدوال ضمن طيات جمل الاستعلام ، وهي شائعة الاستخدام ، ومريحة ، وتعيد قيمة وحيدة - لا تعيد جدول - سنتعرف على بعض الدوال مع بعض الأمثلة خلال هذا الدرس .
    ولننظر نظرة سريعة إلى الصيغة العامة لاستخدام الدوال والتي تأخذ الشكل التالي :
    SELECT func(colum) FROM table WHERE condition;

    الدالة
    AVG :

    تعطينا هذه الدالة متوسط حقل ما ، ولحساب متوسط الأعمار في قاعدة البيانات مثلاً نكتب أمراً كالتالي :
    Select AVG(Age) from tb_main;

    ولك ان تتخيل ماذا سنفعل لو لم نستخدم هذه الدالة ، كنا سندور على جميع السجلات حيث نجمع ارقام كل سجل ثم ننتقل إلى التالي وهكذا - برمجياً - .

    أيضاً يمكننا استخدام الدالة بشرط ... فمثلاً لحساب متوسط أعمار الأشخاص الذين لا تزيد أعمارهم عن 25 :
    SELECT AVG(Age) FROM tb_main where age < 25;

    لو لاحظت لوجدت أن ناتج الدالة يظهر في حقل تحت اسم Expr100 أو ما شابه ... لذا قم - إذا كنت تريد - باعادة تسمية حقل الناتج عن طريق As كما تعلمنا سابقاً وبالشكل التالي :
    SELECT AVG(Age) as AVGAGE FROM tb_main WHERE age < 25;


    لاحظ أن الدالة سوف تتجاهل السجلات الفارغة ...
    الدوال
    Sum,Max,Min :

    تعطي هذه الدوال المجموع - الأكبر - الأصغر على التوالي ، وهذا مثال على أكبر عمر في قاعدة البيانات :
    SELECT max(Age) AS mxAGE FROM tb_main;


    لا تنس أن بإمكاننا وضع شرط لعملية الإستعلام .
    الدالة
    Count :

    وتعيد هذه الدالة عدد السجلات ولها صورتان تعمل مع أكسيس ... أما الصورة الثالثة فهي لا تعمل على الاكسيس :
    الصيغة الأولى :
    Count(colum) ... وتعيد عدد السجلات التي لم يكن هذا الحقل فارغاً فيها .
    الصيغة الثانية :
    Count(*) ... وتعيد عدد السجلات دون النظر إلى إذا ما كانت فارغة أم لا .


    أما الصيغة الثالثة : COUNT(DISTINCT Colum( حيث تقوم بعد السجلات مع تجاهل المكرر منها .

    ولنر مثالاً على الصيغة الثانية :
    Select count(*) From Tb_Main;


    لا تنس أن بإمكانك وضع شرط لعملية العد .

    كانت هذه بعض الدوال البسيطة والاكثر شهرة في TSql والآن ، ماذا لو كانت لدينا علاقات ونرغب في العمل عليها .

    في مثل هذه الحالة ... نريد الحصول على معلومات البطاقة الشخصية الخاصة باسم ما وذلك من Tb_R2 - لاحظ أنه لا يوجد حقل للاسم في الجدول الثاني - .
    SELECT tb_main.Fname, tb_main.lname, Tb_R1.passport, tb_r1.bclass, tb_r1.from
    FROM tb_main, tb_r1
    WHERE tb_main.Number = tb_r1.Number;


    دعنا الآن نلاحظ الفروق بين هذه الطريقة والطريقة السابقة :
    أولاً : نقوم بكتابة اسم الجدول.اسم الحقل وذلك مهم لأننا نتعامل مع أكثر من جدول .
    ثانياً : نقوم بكتابة اكثر من جدول بعد عبارة
    From لأننا نريد النواتج من أكثر من جدول .
    ثالثاً : السطر الأخير من جملة الاستعلام هو لكي يعرض المعلومات التي تتشابه أرقامها في الجدولين سوية .


    دعنا الآن نجرب مثالاً آخراً ... وذلك بالاستعلام عن كافة المعلومات التي تتعلق بالأصدقاء الذين تزيد أعمارهم عن 20 سنة .
    SELECT tb_main.Fname, tb_main.lname, Tb_R1.passport, tb_r1.bclass, tb_r1.from
    FROM tb_main, tb_r1
    WHERE tb_main.Number = tb_r1.Number and tb_main.age >25
    ;

    *** واجب سريع : حاول أن تنشئ جملة استعلام تقوم بعرض اسماء الطلاب + ارقام البطاقات الشخصية + فصيلة الدم + عدد الكتب الدراسية لكل صديق يحتوي اسمه على
    h ( لا تنسى عبارة like ) .


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


    هي الطريقة العادية والتي تحدثنا عنها في الدرس السابق تعطينا النواتج في حال كان شرط العلاقة متحققاً في كلا الجدولين .
    بمعنى : جرب أن تحذف بعض سجلات الأصدقاء من الجدول الثاني ، وستجد أن معلوماتهم - حتى الأساسية - لن تظهر .
    هذا النوع من الربط يطلق عليه Inner Join وهو الافتراضي ... ويمكننا كتابته بالشكل التالي للتفريق بين الأنواع المختلفة :
    SELECT tb_main.Fname, tb_main.lname, Tb_R1.passport, tb_r1.bclass, tb_r1.from
    FROM tb_main inner join tb_r1
    on tb_main.Number=tb_r1.Number;

    لاحظ أننا استبدلنا Where ب on كما وضعنا inner join بين اسمي الجدولين .
    النوع الثاني :
    Left Join :

    في هذا النوع يعرض جميع بيانات الجدول الأول ( على اليسار ) ومن ثم يعرض البيانات المقابلة في الجدول الثاني .
    لاحظ في هذا النوع أمرين :
    * إذا كانت هناك سجلات ( على اليسار ) لا تقابلها سجلات على اليمين فإن اليسار يعرض ويعرض اليمين فارغاً .
    * وإذا كانت هناك سجلات ( على اليمين ) ليس لها مقابل على اليسار فإنها لا تُعرض أبداً .

    مثال هذه النوعية :
    SELECT tb_main.Fname, tb_main.lname, Tb_R1.passport, tb_r1.bclass, tb_r1.from
    FROM tb_main Left JOIN tb_r1 ON tb_main.Number=tb_r1.Number;

    النوع الثالث :
    Right Join :

    هو النوع العكسي تماماً للعملية السابقة ، وهذا مثال عليه :
    SELECT tb_main.Fname, tb_main.lname, Tb_R1.passport, tb_r1.bclass, tb_r1.from
    FROM tb_main Right JOIN tb_r1 ON tb_main.Number=tb_r1.Number;


    في النهاية لا تنس ان تراجع سلسلة دروس TSQL لمزيد من الفائدة ، أيضاً لا تنس ان SQL لا زالت تحتوي على الكثير من الأوامر والتي يمكنك البحث في المزيد منها على الانترنت .

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

    تحميل: مثال عملي البحث ‏بالحرف الأول




    Search.zip

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


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

    بعد ذلك سوف تظهر لك نافذة نموذج1 ، تستطيع بعد ذلك إظهار مربع الأدوات كالتالي:‏

    من قائمة عرض اختر أشرطة أدوات ثم انقر على مربع أدوات، فيظهر لك شريط يحتوي على الأدوات ‏التالية:‏

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

    الأداة 1: تسمية
    عنصر تحكم يعرض نص وصفي مثل عنوان أو تعليق في نموذج أو تقرير أو صفحة بيانات ‏Access‏. من ‏الممكن أن تحتوي التسميات في النماذج و التقارير على ارتباطات تشعبية، لكن الارتباطات التشعبية لن تعمل ‏عند عرضها في ‏Microsoft Access؛ حيث تعمل الارتباطات عند إخراج التقرير إلى ‏Microsoft ‎Word، أو ‏Microsoft Excel‏ أو إلى تنسيق ‏HTML‏.‏

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

    الأداة 3:‏ مجموعة خيار
    يستخدم مع خانات الاختيار أو أزرار الخيار أو أزرار التبديل لعرض مجموعة قيم بديلة. فعلى سبيل المثال ‏يمكنك استخدام مجموعة خيارات لتحديد طريقة شحن طلب ما، إما عن طريق البر أو عن طريق البحر.‏ في ‏Microsoft Access‏ يمكن أن تتضمن مجموعة الخيار أزرار خيارات فقط.‏


    الأداة 4:‏ الزر تبديل
    يستخدم كعنصر تحكم مستقل منضم إلى حقل "نعم / لا" في قاعدة بيانات ‏Microsoft Access‏ أو عمود ‏‏"بت" في مشروع ‏Microsoft Access ‎‏. زر التبديل عبارة عن عنصر تحكم غير منضم لقبول إدخالا من ‏المستخدم في مربع حوار مخصص، أو جزء من مجموعة خيار.‏

    الأداة 5:‏ الزر خيار
    يستخدم كعنصر تحكم مستقل منضم إلى حقل "نعم / لا" في قاعدة بيانات ‏Microsoft Access‏ أو عمود ‏‏"بت" في مشروع ‏Microsoft Access ‎‏. زر الخيار عبارة عن عنصر تحكم غير منضم لقبول إدخالا من ‏المستخدم في مربع حوار مخصص، أو جزء من مجموعة خيار.‏

    الأداة 6:‏ خانة اختيار
    يستخدم أيضا كعنصر تحكم مستقل منضم إلى حقل "نعم / لا" في قاعدة بيانات ‏Microsoft Access‏ أو ‏عمود "بت" في مشروع ‏Microsoft Access ‎‏. خانة الخيار عبارة عن عنصر تحكم غير منضم لقبول إدخالا ‏من المستخدم في مربع حوار مخصص، أو جزء من مجموعة خيار.‏

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

    الأداة 8:‏ مربع قائمة
    تقوم هذه الأداة بعرض قائمة قيم قابلة للتمرير، عند فتح نموذج في طريقة العرض نموذج، أو عند فتح صفحة ‏بيانات ‏Access‏ في طريقة العرض صفحة أو في ‏Microsoft Internet Explorer‏ فإنه يمكنك أن تحدد ‏عنصر من القائمة لإدخال قيمة في سجل جديد، أو أن تغير قيمة في سجل موجود.‏

    الأداة 9:‏ الزر أمر
    يستخدم لتنفيذ إجراءات مثل البحث عن سجل ، طباعة سجل أو تطبيق عامل تصفية نموذج.‏

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

    الأداة 11:‏ إطار كائن غير منضم‏
    يستخدم لعرض كائن ‏OLE‏ غير منضم، مثل جدول بيانات ‏Microsoft Excel‏ في نموذج أو تقرير. ‏استخدام هذا الأداة يؤدي إلى عرض نفس الكائن عند التنقل بين السجلات المختلفة.‏

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

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

    الأداة 14:‏ عنصر تحكم التبويب
    تستخدم هذه الأداة لإنشاء نموذج أو مربع حوار متعدد التبويب يحتوي على أكثر من صفحة.‏

    الأداة 15:‏ نموذج فرعي / تقرير فرعي
    تستخدم لعرض بيانات من أكثر من جدول في نموذج أو تقرير.‏

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

    الأداة 17:‏ مستطيل
    تستخدم هذه الأداة في التأثيرات الرسومية مثل تجميع مجموعة من عناصر التحكم المرتبطة.‏

    الأداة 18:‏ عناصر تحكم إضافية
    تستخدم هذه الأداة في إضافة عناصر تحكم إضافية إلى المستند .



    إنشاء قاعدة البيانات والجدول


    شرح المثال العملي الذي يفترض أنكم قمتم بتحميله من الوصلة
    Search.zip‏ ‏

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

    الخطوة الأولى: افتح البرنامج
    اتجه إلى قائمة ابدأ ثم البرامج ثم اختر منها برنامج إنشاء وتحرير قواعد البيانات الشهير ‏Microsoft ‎Access‏ .‏

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


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

    أولا: إنشاء جدول باسم "الأسماء"‏
    والهدف من هذا الجدول هو إدخال بيانات أعضاء الموسوعة، كل عضو سوف ندخل له الاسم ‏ورقم الهاتف الثابت.‏

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

    ثم اختر طريقة عرض التصميم من نافذة "جدول جديد" ثم اضغط على موافق‏
    يحتوي هذا الجدول على حقلين هما: "الاسم" و "رقم الهاتف الثابت"‏

    بالنسبة للحقل الأول فنكتب:‏
    اسم الحقل: الاسم
    نوع البيانات: نص

    خصائص الحقل:‏
    حجم الحقل: 50‏
    قاعدة التحقق من الصحة: ‏Is Not Null
    نص التحقق من الصحة: لابد أن تدخل الإسم
    مطلوب: لا
    السماح بطول صفري ‏: لا
    مفهرس: نعم (تكرار موافق)‏
    ضغط ‏Unicode‏: نعم
    IME Mode‏: بدون عنصر التحكم
    IME Sentence Mode‏: بلا

    كما بالشكل:‏
    وبالنسبة للحقل الثاني فنكتب:‏
    اسم الحقل: رقم الهاتف الثابت
    نوع البيانات: نص

    خصائص الحقل:‏
    حجم الحقل: 15‏
    مطلوب: لا
    السماح بطول صفري ‏: لا
    مفهرس: نعم (تكرار موافق)‏
    ضغط ‏Unicode‏: نعم
    IME Mode‏: بدون عنصر التحكم
    IME Sentence Mode‏: بلا

    كما بالشكل:‏


    وبذلك نكون أتممنا الخطوة الأولى من إنشاء الجدول وذلك عن طريق تحديد حقول الجدول ‏وخصائص كل حقل.‏

    بعد ذلك نضغط زر إغلاق فتظهر لك رسالة: هل تريد حفظ التغيرات في تصميم جدول ‏‏'جدول1'؟ ‏
    اختر نعم فتظهر لك نافذة حفظ باسم اكتب اسم الجدول "الاسماء" ثم موافق‏ .


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

    بعد ذلك نتجه إلى الخطوة الثانية من إنشاء الجدول ألا وهي إدخال بيانات الجدول:‏
    وهي خطوة سهلة سوف تقوم فيها بإدخال بيانات الأعضاء كما بالشكل التالي:‏


    الدرس التالي : سيكون إن شاء الله توضيح لطريقة إنشاء الاستعلام


  6. #6
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    تصميم الاستعلام

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


    ستظهر لك بعد ذلك نافذة "إظهار جدول":

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

    3 - نقوم بعد ذلك بإظهار حقول الجدول داخل الشبكة عن طريق النقر على كل حقل مرتين أو عن ‏طريق سحب الحقل ثم إفلاته داخل الشبكة كما بالشكل التالي:‏

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

    4 - نضغط زر إغلاق ونحفظ الاستعلام باسم "استعلام الاسماء"‏

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

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

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

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

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

    تقسيم النموذج إلى رأس ‏وتفصيل‎ ‎وتذييل

    خطوات تصميم النموذج ~~ خطوة خطوة~~

    (تعرضنا في درس شرح مربع الادوات إلى مجموعة من الادوات التي تستخدم في تصميم النماذج)

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


    ** من قائمة عرض قم بوضع علامة صح عند رأس / تذييل النموذج كما هو واضح بالصورة



    ** ثم قم بتغيير مقاسات النموذج إلى الحجم الملائم وذلك بوضع المؤشر في بداية كل شريط (رأس النموذج أو تفصيل أو تذييل النموذج) ثم السحب للأعلى أو للأسفل كما بالصورة



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

    خطوات تصميم رأس النموذج

    ** تصميم رأس النموذج:
    سوف نتناول في هذا الدرس بإذن الله خطوات تصميم رأس النموذج..

    نقوم بالضغط بالزر الأيمن للماوس على رأس النموذج ونختار خصائص كما بالشكل



    ، وبعد ذلك نقوم بتغيير الخصائص كما بالشكل التالي:

    بعد التعديلقبل التعديل


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


    قبل التعديلبعد التعديل


    العنوان الأول:
    التسمية: "رقم الهاتف الثابت"
    ملاحظة: قم بعمل نسخ ولصق للـlabel السابق للتسهيل على نفسك.
    الخصائص:


    قبل التعديلبعد التعديل



    وبذلك نكون انتهينا من تصميم رأس النموذج.
    وفي الدرس التالي بإذن الله سنتعرف على خطوات تصميم الجزء الموجود في وسط النموذج "تفصيل".

    تحياتي لكم ولاتنسونا من صالح دعائكم،،

    خطوات تصميم وسط النموذج ‏‏(تفصيل)


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


    قبل التعديلبعد التعديل

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

    مربع نص: الاسم
    الخصائص:


    قبل التعديلبعد التعديل

    مع ملاحظة أنه يمكنك تغيير حجم ونوع وعرض ولون الخط بالشكل الذي يناسبك.


    مربع نص: رقم الهاتف الثابت
    الخصائص:


    قبل التعديلبعد التعديل

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


    تصميم أزرار التبديل في النموذج

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


    المكون الأول:
    وهو مجموعة الأيقونات التي تكون عبارة عن أداة التحكم "زر تبديل" ووظيفتها عرض الأسماء المخزنة في قاعدة بيانات أعضاء الموسوعة حسب الحرف الأول.

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

    الطريقة الثانية: باستخدام معالج مجموعة الخيارات.

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

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


    ~~ من مربع أدوات التحكم ندرج أداة التحكم "مجموعة خيار"، ثم نغير الأبعاد إلى الحجم الملائم.
    ثم نقوم بتعديل الخصائص كما بالشكل التالي:


    قبل التعديلبعد التعديل

    ~~ بعد ذلك نقوم بإدراج أداة التحكم "زر تبديل" داخل إطار "مجموعة الخيار" للحرف أ.
    الخصائص:

    قبل التعديلبعد التعديل
    ملاحظة:
    1. إشارة الـ& عند التسمية التوضيحية لحرف الألف تؤدي إلى وضع خط تحت الحرف.
    2. قام برنامج الأكسس بوضع قيمة الخيار لزر التبديل الأول بواحد . وستلاحظ عند زر التبديل الثاني سيضع القيمة 2 وعند الثالث سيضع 3 وهكذا... وهذا نتيجة لإدراج هذه الأزرار داخل أداة التحكم "مجموعة خيار" ، وسوف تفيدنا هذه الخاصية كثيرا!
    بنفس الطريقة سوف نكمل إدراج أزرار التبديل للأحرف الهجائية من أ إلى ي.


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

    قبل التعديلبعد التعديل

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




  7. #7
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    خطوات إنشاء الماكرو في تذييل النموذج (1)


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



    ~~خطوات إنشاء الماكرو~~
    1- اذهب إلى خاصية بعد التحديث في أداة التحكم مجموعة الخيار التي قمنا بتسميتها "الحروف" وانقر على الأيقونة التي تظهر بجانبها، فتظهر لك نافذة "اختيار المنشئ " اختر منها "منشئ الماكرو" كما بالشكل

    ثم انقر على موافق.

    2- احفظ الماكرو الذي ترغب بإنشائه باسم “Search” في نافذة حفظ باسم التي ستظهر لك.

    3- بعد ذلك قم بإظهار شريط أدوات "تصميم الماكرو" من عرض ثم أشرطة وأدوات ثم قم بالنقر على اسم هذا الشريط فيظهر لك كما بالشكل.


    4- قم بالنقر على الأداتين التي تم تحديدها باللون الأحمر في الشكل السابق:
    الأداة الأولى: تسمى بـ "أسماء وحدات الماكرو" والنقر عليها يؤدي إلى إظهار عامود في جدول الماكرو يسمى "اسم الماكرو" ويستخدم هذا العامود لتعريف أكثر من ماكرو داخل مجموعة وحدات الماكرو. كما أن النقر على هذه الأداة مرة أخرى يؤدي إلى إخفاء هذا العامود من جدول الماكرو.
    أما الأداة الثانية: فتسمى بـ "شروط" والنقر عليها يؤدي إلى ظهور عامود في جدول الماكرو يسمى "شرط" ويستفاد من هذا العامود في تعيين شروط الإجراء. والنقر على هذه الأداة مرة أخرى يؤدي إلى إخفاء هذا العامود من جدول الماكرو.

    5- في هذا الماكرو نحتاج لتعيين ماكرو واحد داخل مجموعة وحدات الماكرو التي قمنا بتسميتها مسبقا بالاسم "Search" ، قم بكتابة اسم هذا الماكرو وليكن "Buttons" داخل عامود "اسم الماكرو".

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

    6- في خانة الشرط يتم كتابة الشروط على الصورة التالية:
    [الحروف] = قيمة الخيار
    أي أن أداة التحكم "مجموعة الخيار" التي قمنا بإدراجها في النموذج وتسميتها بالاسم "حروف" سوف تكون القيمة المختارة داخلها عبارة عن أحد القيم التي وضعت تلقائيا لجميع أزرار التبديل الموضوعة داخلها.

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


    وسيطة الإجراءالوصفاسم عامل التصفيةاسم عامل تصفية أو استعلام لتقييد سجلات الجدول أو النموذج أو التقرير أو فرزها.
    ولن نحتاج في هذا النموذج لتحديد أسماء عوامل تصفية.
    شرط Whereعبارة SQL WHERE صالحة (بدون كلمة WHERE) أو تعبير يقيّد سجلات الجدول أو النموذج أو التقرير.
    ملاحظة في تعبير وسيطة الشرط Where، يتضمن الجانب الأيسر من التعبير اسم حقل من الاستعلام أو الجدول الأساسي للنموذج أو الجدول. ويتضمن الجانب الأيمن من التعبير المعايير التي تريد تطبيقها على هذا الحقل لتقييد السجلات أو فرزها.
    على سبيل المثال، يمكن أن تكون المعايير اسم عنصر تحكم على نموذج آخر يحتوي على القيمة تريد أن تكون متطابقة مع السجلات في النموذج الأول. يجب أن يكون اسم عنصر التحكم مؤهلاً تماماً،
    ففي هذا النموذج سوف يكون الشرط على الصورة:
    [الاسم] Like "[أول حرف من الاسم]*"

    1- يجب إحاطة أسماء الحقول بعلامات اقتباس مزدوجة والسلاسل الحرفية بعلامات اقتباس مفردة.
    2- الشرط السابق يفيد أن القيمة الموجودة في حقل "الاسم" من "استعلام الأسماء" سوف تبدأ بالحرف الموجود داخل الأقواس المربعة ثم تحتوي على مجموعة حروف لا نهتم بها كما أو كيفا ولذا وضعنا الرمز * للدلالة على وجود سلسلة حرفية بعد الاسم الأول.
    ملاحظة:
    الحد الأقصى لطول وسيطة "شرط Where" هو 255 حرفاً. إذا كنت تريد إدخال عبارة SQL WHERE أطول، استخدم أسلوب ApplyFilter للكائن DoCmd الموجود في Microsoft Visual Basic حيث يمكنك إدخال جمل SQL WHERE حتى 32.768 حرفاً في Visual Basic
    .














    8- أما بالنسبة للعامود الأخير "تعليق" فهو لا يدخل ضمن الإجراء ولكنه يستخدم لوصف ما يفعله كل إجراء وهذه التعليقات اختيارية.

    9- قم بكتابة الشرط والإجراء والتعليق لجميع الأزرار التي استخدمناها للحروف الهجائية من أ إلى ي كما هو موضح بالشكل:


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

    خطوات إنشاء الماكرو في تذييل النموذج (2)

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

    مكونات هذا الدرس:
    • <LI dir=rtl>كتابة الشرط والإجراء المناسب للأيقونة التي تعرض جميع الأسماء الموجودة في قاعدة البيانات..
    • ثم سننتقل إلى شرح طريقة كتابة الشروط في حالة عدم وجود أسماء تبدأ بحرف معين داخل قاعدة البيانات أو على النقيض في حالة وجود أكثر من اسم يبدأ بالحرف نفسه..
    فلنبدأ على بركة الله


    ~~تصميم زر التبديل "الكل"~~

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


    ~~شروط أخرى لا بد منها~~

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

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




    التعليق على كيفية كتابة الشروط في الشكل السابق:

    أولا:

    [CurrentRecord] > 0

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



    ثانيا:

    StopMacro

    يمكنك استخدام الإجراء StopMacro لإيقاف الماكرو قيد التشغيل حالياً وذلك نتيجة تحقق الشرط السابق 11.1وليس لهذا الشرط أية وسائط إجرائية.

    :ثالثا
    [CurrentRecord] = 0

    أما إذا لم توجد قيمة داخل السجل الذي نطبق عليه شرط الاختيار فإنه سوف تعرض رسالة عن طريق الإجراء MsgBox
    يتضمن الإجراء MsgBox الوسائط التالية:
    وسيطة الإجراءوصفالرسالةونكتب فيه النص الذي سيظهر في مربع الرسالة:
    "عفوا، لا يوجد اسم يبدأ بهذا الحرف"
    مع ملاحظة أنه يمكنك كتابة 255 حرفاً كحد أقصى.
    صوت تنبيهيحدد ما إذا كان الكمبيوتر يصدر صوت تنبيه عند عرض الرسالة. انقر فوق نعم (لإصدار صوت التنبيه) أو لا (لعدم إصدار صوت التنبيه). الوضع هو الافتراضي نعم.النوعنوع مربع الرسالة. لكل نوع رمز مختلف. انقر فوق بلا أو حيوي أو تحذير؟ أو تحذير! أو معلومات
    مع ملاحظة أن الإعداد الافتراضي هو بلا.
    العنوانالنص المعروض في شريط العنوان في مربع الرسالة. نستطيع أن نكتب في مثالنا هذا :
    "لا يوجد سجلات" للدلالة على أن هذه النافذة تعرض رسالة تفيد عدم وجود سجلات تبدأ بالحرف المختار.
    في حالة ترك هذه الوسيطة خالية، يتم عرض "Microsoft Access".

    انظر الشكل:



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

    خامسا:

    SetValue
    يقوم هذا الإجراء بتعيين قيمة افتراضية لحقلي الاسم ورقم الهاتف الثابت في النموذج، وله وسطي إجراء:

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






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

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



    تصميم الجزء الخاص بعرض إجمالي عدد الأسماء التي تبدأ بحرف معين في المثال search.zip

    السلام عليكم

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

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


    يتكون هذا الجزء من أداتين سوف نتناولها واحدة تلو الآخرى:

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

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





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

    =Count([الاسم])

    أي: اجعل القيمة داخل مربع النص تساوي (=) القيمة التي سترجع من الدالة Count والتي تؤثر على حقل ]الاسم[ وتقوم بعدّ جميع قيم أو سجلات هذا الحقل.
    ونفهم من ذلك أن النتيجة النهائية سوف تكون عدد الأسماء التي تبدأ بالحرف الذي اخترناه.

    (ستفهم هذه النقطة أكثر عندما تقوم بتجربة هذا النموذج بنفسك).

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

    في الدرس القادم بإذن الله سنتناول كيفية إنشاء زر الإغلاق في النموذج..
    تصميم زر الإغلاق في النموذج!

    السلام عليكم..

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

    ~~الخطوات~~


    قم بإدراج أداة التحكم "زر الأمر" من مربع أدوات التحكم.

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

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


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





    انقر التالي، ثم قم بتحديد النص أو الصورة التي تناسبك، ثم انقر التالي.

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


    وبذلك نكون انتهينا بحمد الله من تصميم آخر أداة تحكم تم وضعها على النموذج في المثال search.zip.


    ملاحظة:
    عند إظهار خصائص زر الأمر “cdm” ستلاحظ وجود العبارة ] إجراء حدث [ عند خاصية "عند النقر" لمجرد الاستطلاع انقر على الأيقونة الصغيرة التي تظهر عن الوقوف على هذه الخاصية، ولسوف يظهر لك كود فجوال بيسك بالشكل التالي:




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

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

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

    وضع اللمسات الأخيرة على تصميم النموذج!

    السلام عليكم..

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

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

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


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

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

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


    2- قم باتاحة أزرار التكبير والتصغير في النموذج عن طريق تغيير الخاصية "
    زرا التكبير والتصغير" إلى الخيار "إتاحة كلاهما" وسوف يظهر لك كلا الزرين في النموذج.


    ستظهر لك الخصائص بعد تعديلها بالشكل التالي:




    وسوف تلاحظ بنفسك التغيرات التي حدثت في النموذج.


    انتيهينا من شرح المثال search.zip كاملا بحمد الله، أتمنى أن أكون قد وفقت في شرحه لكم..

    لا تنسوني من دعائكم الصالح في ظهر الغيب، وفقني الله وإياكم لما يحبه ويرضاه..




  8. #8
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

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


    السلام عليكم ورحمة الله وبركاته.
    في هذا الدرس سنبدأ بإنشاء قاعدة البيانات التي ستستند إليها في الدروس القادمة بإذن الله وتشتمل على الآتي:
    • <LI dir=rtl>ربط الجداول عن طريق إنشاء علاقات Relations فيما بينها مع شرح مفصل عن أنواع العلاقات.
    • الاستعلامات Queries.

      ستكون قاعدة البيانات بسيطة بإذن الله وستحتوي على جميع الجداول والحقول التي نحتاجها لتطبيق هذه الدروس فلنبدأ على بركة الله.
    ابدأ --> البرامج --> Microsoft Access
    Start --> Programs --> Microsoft Access
    الآن اختر ملف File ثم جديد New ثم قاعدة بيانات فارغة Blank Database وقم بتسمية قاعدة البيانات الجديدة بالاسم الذي تريده وليكن my database.
    الخطوة الأولى:

    تشتمل قاعدة البيانات على ثلاث جداول:

    الأول: لإدخال بيانات الطلاب وسنسميه بالاسم Student Table ، ويشتمل على الحقول الموضحة بالصورة:





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


    الثاني: لإدخال بيانات المواد التي يدرسها الطلاب وسنسميه بالاسم Course Table ، ويشتمل على الحقول الموضحة بالصورة:





    مع ملاحظة أن حقل "رقم_المادة" يتم تعيينه كمفتاح أساسي Primary Key للجدول وذلك بالوقوف عند هذا الحقل ثم الضغط على أيقونة Primary Key من شريط الأدوات القياسي أو عن طريق اختياره من قائمة تحرير Edit .


    الثالث: لإدخال الدرجات التي حصل عليها الطلاب في هذه المواد وسنعطيه الاسم Grades Table ، ويشتمل على الحقول الموضحة بالصورة:






    ملاحظة: عند حفظ هذا الجدول ستظهر لك الرسالة التالية:




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

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


    الخطوة الثانية:
    إدخال البيانات في الجداول:
    قم بفتح كل جدول من الجداول السابقة في وضع Datasheet View، وقم بإدخال ما يحلو لك من بيانات بالشكل الذي يلائم نوع بيانات الحقل نفسه.

    افترض أننا قمنا بإدخال البيانات الآتية:


    Student Table




    Course Table



    Grades Table





    ملاحظات هامة:
    * إذا كان آكسس يعرض لك الحقول في الجدول من اليسار لليمين، وكنت تريد كتابة سجلات الجدول باللغة العربية فلك أن تغير طريقة عرض بيانات الجدول لتصبح من اليمين لليسار كالآتي:
    افتح الجدول في عرض التصميم Design View ثم انقر على شريط الجدول بالزر الأيمن واختر خصائص Properties ثم قم بتغيير الخاصية Orientation إلى Right-to-left كما بالصورة:






    * قمت بتسمية الحقول هكذا: الاسم_الأول، الاسم_الأخير، محل_الميلاد، ........ الخ ، أي بدون فصل الكلمتين عن بعضهما وذلك لتسهيل عملية كتابة الأكواد والشروط فيما بعد.
    يمكنك تغيير طريقة ظهور اسم الحقل في عرض ورقة البيانات حتى لا تظهر فقط بهذا الشكل مع بقاء التسمية الحقيقة كما هي كالآتي:
    - افتح الجدول في عرض التصميم Design View
    - قف بالمؤشر عند الحقل الذي تريد تغيير تسميته
    - من خصائص الحقل بالأسفل قم بتغيير الخاصية Caption إلى الاسم الذي تريده، كما هو واضح من المثال بالصورة:





    -قم بحفظ التغيرات في الجدول ثم افتح الجدول في وضع عرض ورقة البيانات Datasheet View وستلاحظ بنفسك التغير الحاصل في تسمية الحقول.


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

    الأول: يعرض بيانات الطالب ويعتبر رقم الطالب هو المفتاح الأساسي Primary Key لهذا الجدول.

    الثاني: يعرض بيانات المواد التي يدرسها الطلاب ويعتبر رقم المقرر هو المفتاح الأساسي Primary Key لهذا الجدول.

    الثالث: يعرض الدرجات التي حصل عليها الطلاب في المقررات التي يدرسونها ويحتوي هذا الجدول على مفتاحان أجنبيان Foreign Keys هما "رقم_الطالب" و "رقم_المقرر" حيث يعتبر هذان المفتاحان معا مفتاح أساسي مركب من كلا الحقلين.




    أنواع العلاقات وطريقة الربط بين الجداول.


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

    ماذا نعني بربط الجداول؟


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

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

    علاقة one-to-many :
    وهي الأكثر استخداما، وتعني أن السجل الواحد في جدول البيانات الرئيسي Primary Table يقابله أكثر من سجل في الجدول الآخر Related Table.

    علاقة one-to-one :
    هذا النوع أقل استخداما من النوع السابق، وفيه كل سجل في الجدول الرئيسي يقابله سجل واحد في الجدول المرتبط به.

    علاقة many-to-many :
    هذا النوع نادر الاستخدام، وفيه يقابل كل سجل من الجدول الرئيسي عدة سجلات في الجدول المرتبط به، والعكس حيث يقابل كل سجل في الجدول المرتبط عدة سجلات في الجدول الرئيسي.
    هذا النوع من العلاقات معقد، لذا يجب ربط الجدولين بأسلوب غير مباشر وذلك بإنشاء جدول ثالث يعمل على تجزئة هذه العلاقة إلى علاقتين من النوع one-to-many ، وفي هذه الحالة يكون المفتاح الرئيسي للجدول الجديد مكون من المفتاحين الأساسيين للجدولين الآخرين.



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


    ربط الجداول في قاعدة البيانات my database:

    1- قم بفتح قاعدة البيانات التي قمت بإنشائها في الدرس السابق.

    2- من قائمة أدوات Tools اختر علاقات Relationships.



    - ستظهر لك نافذة إظهار جدول Show Table، قم بإضافة الجداول الثلاثة Student Table ، Course Table و Grades Table، وذلك عن طريق النقر المزدوج على اسم الجدول أو عن طريق تحديد اسم الجدول ثم النقر على زر إضافة Add.


    3- ربط الجدولين Student Table و Grades Table باستخدام علاقة الارتباط one-to-many :

    - يعتبر جدول الطالب Student Table هو الجدول الأساسي، بينما جدول الدرجات Grades Table هو الجدول التابع.
    - يعتبر حقل "الرقم " مفتاح أساسي Primary Key في جدول الطالب بينما يعتبر الحقل "رقم_الطالب" مفتاح أجنبي Foreign Key في جدول الدرجات.

    إذن نستطيع إنشاء علاقة الارتباط one-to-many بين الجدولين عن طريق سحب الحقل "الرقم" من جدول الطالب Student Table وإسقاطه فوق الحقل "رقم_الطالب" في جدول الدرجات Grades Table وسوف تظهر لك مباشرة النافذة التالية:





    قم بتنشيط فرض التكامل المرجعي Enforce Relational Integrity بخياريه:
    Cascade Update Related Fields (تتالي تحديث الحقول المرتبطة)
    Cascade Delete Related Records (تتالي حذف السجلات المرتبطة)
    وفائدة ذلك أنه عند تعديل أو حذف أحد الحقول فسيتم تحديث علاقة الارتباط تلقائيا بين الجدولين.

    ثم انقر فوق إنشاء Create، وستلاحظ ظهور علاقة one-to-many بين الجدولين.




    4- ربط الجدولين Course Table و Grades Table باستخدام علاقة الارتباط one-to-many :

    - يعتبر جدول الطالب Course Table هو الجدول الأساسي، بينما جدول الدرجات Grades Table هو الجدول التابع.
    - يعتبر حقل "رقم_المادة" مفتاح أساسي Primary Key في جدول المقرر بينما يعتبر الحقل "رقم_المادة" مفتاح أجنبيForeign Key في جدول الدرجات.

    إذن نستطيع إنشاء علاقة الارتباط one-to-many بين الجدولين عن طريق سحب الحقل "رقم_المادة" من جدول المقرر Course Table وإسقاطه فوق الحقل "رقم_المادة" في جدول الدرجات Grades Table وسوف تظهر لك مباشرة النافذة التالية:






    قم بتنشيط فرض التكامل المرجعي Enforce Relational Integrity بخياريه:
    Cascade Update Related Fields (تتالي تحديث الحقول المرتبطة)
    Cascade Delete Related Records (تتالي حذف السجلات المرتبطة)
    وفائدة ذلك أنه عند تعديل أو حذف أحد الحقول فسيتم تحديث علاقة الارتباط تلقائيا بين الجدولين.

    ثم انقر فوق إنشاء Create، وستلاحظ ظهور علاقة one-to-many بين الجدولين السابقين.



    ستكون نافذة علاقات Relationships والتي تظهر العلاقات بين الجداول الثلاثة كما بالشكل التالي:





    خلاصة الدرس:

    تعلمنا في هذا الدرس:
    - أنواع علاقات الارتباط.
    - أساسيات إنشاء العلاقات بين الجداول.
    - تطبيق عملي على أشهر أنواع العلاقات وأكثرها استخداما one-to-many relationship.
    - إذا أضفت حقول أو جداول جديدة وأردت إنشاء علاقات جديدة فيما بينها، أو أردت تعديل أو حذف علاقات موجودة مسبقا فكل ما عليك هو فتح قائمة أدوات Tools ثم النقر على علاقات Relationships، لتظهر لك نافذة Relationships وتحتوي على جميع العلاقات التي تم إنشاؤها مسبقا بين الجداول، إذا أردت إضافة جداول جديدة انقر على أيقونة أظهار جدول Table Show


    من شريط الأدوات، أو من قائمة علاقات Relationships.


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




    تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام!

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

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

    في هذا الدرس سنتناول النقاط الآتية:
    • <LI dir=rtl> تعريف الاستعلام..
      <LI dir=rtl> طريقة عرض الاستعلام
      <LI dir=rtl> أنواع الاستعلامات
    • التعرف على نافذة تحديد وتحرير الاستعلام


    ما هو الاستعلام؟

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

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

    وهكذا...

    إذن:
    --> تستخدم الاستعلامات لعرض وتغيير وتحليل البيانات بطرق مختلفة.

    --> يقوم آكسس بتجميع البيانات التي تجيب على سؤالك من جدول أو أكثر.

    --> وفي كل مرة تشغل فيها الاستعلام سوف تحصل على أحدث المعلومات من قاعدة البيانات.




    طريقة عرض الاستعلام:


    يمكنك التعامل مع الاستعلام في طريقتين:

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

    الصورة التالية توضح عرض التصميم لأحد أنواع الاستعلامات وهو استعلام التحديد Select Query :






    الثانية: عرض صفحة البيانات:
    لإضافة، تحرير، تحليل البيانات نفسها.. ولمشاهدة نتائج تشغيل الاستعلام.

    الصورة التالية توضح نتائج تشغيل أحد الاستعلامات:







    أنواع الاستعلامات:

    هناك عدة أنواع من الاستعلامات في Microsoft Access، سنقوم بتعدادها أولا مع تعريف مبسط لكل منها، ثم بعد ذلك سنفصل في شرح كل نوع مع كتابة أمثله متعددة عليه.


    (1)- استعلامات التحديد Select Query.
    يعتبر من أكثر أنواع الاستعلامات شيوعاً. ويستخدم لاسترجاع بيانات من جدول واحد أو أكثر ويعرض النتائج في صفحة بيانات.
    يمكنك تحديث مجموعة من السجلات بناء على بعض القيود أو المعايير Criteria.
    يمكنك أيضاً استخدام استعلام تحديد لتجميع السجلات وحساب المجاميع والأعداد والمعدلات وأنواع أخرى من الإجماليات.


    (2)- استعلامات إجرائية .Action Queries
    الاستعلام الإجرائي هو استعلام يُجري تغييرات على العديد من السجلات في عملية واحدة فقط.

    توجد أربعة أنواع من الاستعلامات الإجرائية:
    • استعلامات حذفDelete Query


    ويستخدم لحذف مجموعة من السجلات من جدول واحد أو أكثر.

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

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



    • استعلامات تحديث Update Query


    يجري استعلام التحديث تغييرات عامة على مجموعة من السجلات في جدول واحد أو أكثر.

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

    باستخدام استعلام التحديث، يمكنك تغيير البيانات في جداول موجودة.



    • استعلامات إلحاقية Append Query


    يضيف الاستعلام الإلحاقي مجموعة من السجلات من جدول واحد أو أكثر إلى نهاية جدول واحد أو أكثر.

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



    • استعلامات إنشاء جدول Make-Table Query

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

    (3)- استعلامات المعلمات Parameters Queries .
    ويعرض عند تشغيله مربع الحوار الخاص به ليطالبك بمعلومات مثل معايير Criteria أو شروط معينة لاسترداد سجلات أو قيمة تريد إدراجها في حقل.
    يمكنك تصميم استعلام المعلمات ليطالبك بأكثر من معلومة؛ على سبيل المثال، يمكنك تصميمه ليطالبك بتاريخين. في هذه الحالة يسترد Access كافة السجلات التي تقع بين هذين التاريخين.
    تعد استعلامات المعلمات ملائمة عند استخدامها كأساس لنماذج وتقارير وصفحات بيانات access.
    على سبيل المثال، يمكنك إنشاء تقرير عن الدرجات التي حصل عليها كل طالب مستنداً إلى استعلام معلمات. وعند طباعة التقرير، يعرض Access مربع حوار للسؤال عن رقم الطالب الذي ترغب أن يغطيه التقرير. وعندما تدخل رقما معينا يطبع Access التقرير الملائم.


    (4)- استعلامات جدولية Crosstab Query.
    تستخدم الاستعلامات الجدولية لحساب وإعادة بناء البيانات للحصول على تحليل أسهل للبيانات. تحسب الاستعلامات الجدولية المجموع أو المتوسط أو العدد أو نوع آخر من الإجمالي للبيانات التي يتم تجميعها بواسطة نوعين من المعلومات — يظهر أحدها أسفل الجانب الأيسر من ورقة البيانات في حين يظهر الآخر في رأس الصفحة.


    (5) استعلامات SQL
    استعلام SQL هو استعلام تقوم بإنشائه باستخدام عبارة SQL.



    التعرف على نافذة تحديد الاستعلام:

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

    (1) أسماء الحقول :
    تظهر في الجزء العلوي من الجدول نافذة أو أكثر بأسماء الحقول الموجودة في الجدول أو الجداول أو الاستعلامات الموجودة بقاعدة البيانات .

    (2) معايير الاستعلام :
    يحتوى الجزء السفلي من الجدول على خطوط شبكيه (Grid) تسمى QBE (Query By Example). وتستخدم لتحديد الحقول والسجلات المطلوب استخراجها من قاعدة البيانات .





    الشبكية Grid الموجودة بالصورة هي المستخدمة لأشهر أنواع الاستعلامات وهو استعلام التحديد Select Query
    وفيما يلي شرح لكل سطر في هذه الشبكية:
    السطر الأول: Field / حقل
    لإسقاط الحقل الذي نرغب بإظهاره في استعلام التحديد.

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

    السطر الثالث: Sort / فرز
    لفرز سجلات البيانات تصاعديا أو تنازليا.

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

    السطر الخامس: معايير / Criteria
    يتم كتابة الشرط الذي يتم اختيار السجلات عند تحققه.

    السطر الخامس: أو / or
    لكتابة أكثر من شرط أو معيار لنفس الحقل أو لعدة حقول يفصل بينهم العلاقة المنطقية OR.



    أتمنى أن تكونوا قد استفدتم في هذا الدرس، والدرس القادم باذن الله سيكون عن أول نوع من أنواع الاستعلامات ألا وهو استعلام التحديد Select Query.
    لا تنسونا من صالح دعائكم

    استعلامات التحديد Select Query مع أمثله (1)

    السلام عليكم ورحمة الله ..
    سنتعرف في هذا الدرس على أشهر أنواع الاستعلامات وهو استعلام التحديد Select Query مع توضيح ذلك بالأمثلة.

    استعلام التحديد:

    هذا النوع هو أكثر أنواع الاستعلامات شيوعاً.
    ويستخدم لـ:
    • <LI dir=rtl> استرجاع بيانات من جدول واحد أو أكثر بمعايير أو بدون ذلك.
      <LI dir=rtl> عرض النتائج في صفحة بيانات حيث يمكنك تحديث السجلات (مع بعض القيود)، وفي كل مرة يتم تشغيل الاستعلام يتم اختيار السجلات المحدثة.
    • يمكنك أيضاً استخدام استعلام التحديد لتجميع السجلات وحساب المجاميع والأعداد والمعدلات وأنواع أخرى من الإجماليات لحقل واحد أو عدة حقول لجدول واحد أو أكثر.
    مثال1: على قاعدة البياناتmy database التي قمت بإنشائها مسبقا قم بإنشاء استعلام على جدول الطالب Student Table لعرض رقم واسم كل طالب وحالته الدراسية (هل هو خريج أم لا؟) ؟
    ملاحظة: سنتناول حلول الأمثلة بالتفصيل، وإن كنت أتمنى أن تحاول حل كل مثال بنفسك قبل قراءته من الدرس، فالتفكير يساعدك على الاستيعاب أكثر وربما مع الوقت تنجح في تطبيق بقية الأمثلة دون أن تقرأ سطرا واحدا من الحل!
    الحل:
    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.
    (لا تقلق فسوف تتعرف بإذن الله من خلاص الدروس القادمة بإذن الله على جميع أنواع معالج الاستعلامات التي ظهرت لك في هذه النافذة )..



    2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
    كما يتضح لك من السؤال لن نحتاج إلا إلى جدول الطالب Student Table، قم بتحديده ثم انقر على زر إضافة Add ، ثم أغلق النافذة.


    3- من قائمة استعلام Query اختر استعلام تحديد Select Query كما يتضح لك من الصورة، وغالبا ستجد هذا الاختيار محدد تلقائيا لأن آكسس يعتبره الخيار الافتراضي، كما أن استعلام التحديد هو الأكثر شيوعا كما أسلفنا في بداية شرح هذا النوع من الاستعلامات.



    4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.
    ستجد أنك لن تحتاج لجميع حقول Student Table ، بل ستحتاج فقط إلى الحقول الأربعة التالية:
    • <LI dir=rtl>الرقم
      <LI dir=rtl>الاسم_الأول
      <LI dir=rtl>الاسم_الأخير
    • خريج؟
    إذن قم بسحب هذه الحقول واحدا تلو الآخر وإسقاطها في الخلايا المحاذية للسطر حقل Field كما بالصورة:


    5- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة


    وستظهر لك النتيجة التالية:


    لقد قمت بإنشاء استعلامك بنجاح .

    6- قم بحفظ استعلامك لتقوم بتشغيله كلما احتجت لذلك.

    لا تنسونا من دعوة صالحة في ظهر الغيب..
    والسلام عليكم..




  9. #9
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    استعلامات التحديد والمزيد من الأمثلة (2)



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

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

    مثال2: على قاعدة البيانات my database التي قمت بإنشائها سابقا قم بإنشاء استعلام على الجداول الثلاثة , Grades Table, Course Table, Student Table لعرض الحقول التالية: رقم الطالب، اسم الطالب، اسم المادة، درجة المادة التي حصل عليها الطالب ؟
    الحل:

    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.




    2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
    وكما يتضح لك من السؤال أنك ستحتاج إلى جميع الجداول الثلاثة الموجودة في قاعدة بياناتك، فقم بإضافتها جميعا، ثم أغلق النافذة.


    3- من قائمة استعلام Query اختر استعلام تحديد Select Query كما يتضح لك من الصورة، وغالبا ستجد هذا الاختيار محدد تلقائيا لأن آكسس يعتبره الخيار الافتراضي، كما أن استعلام التحديد هو الأكثر شيوعا كما أسلفنا في بداية شرح هذا النوع من الاستعلامات.


    4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.
    ستجد أنك لن تحتاج إلا إلى الحقول التالية:
    من جدول الطالب Student Table:
    • <LI dir=rtl>الرقم
      <LI dir=rtl>الاسم_الأول
    • الاسم_الأخير
    من جدول المادة Course Table:
    • اسم_المادة
    من جدول الدرجات Grades Table:
    • درجة_المادة
    إذن قم بسحب هذه الحقول واحدا تلو الآخر وإسقاطها في الخلايا المحاذية للسطر حقل Field كما بالصورة:



    5- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة
    وستظهر لك النتيجة التالية:


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

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

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



    6- قم بحفظ استعلامك لتقوم بتشغيله كلما احتجت لذلك.

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

    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

    مثال3: أنشئ استعلام على جدول الطالب Student Table وذلك لعرض حقول الطلاب الخريجين، واحفظ الاستعلام باسم "استعلام عن الطلاب الخريجين"؟

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

    الحل:
    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.



    2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
    وكما يتضح لك من السؤال أنك ستحتاج إلى جدول الطالب Student Table فقط، فقم بإضافته ، ثم أغلق النافذة.





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



    4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.
    ستحتاج لجميع حقول جدول الطالب Student Table أليس كذلك؟

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



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


    5- أنت تريد فقط استخراج حقول الطلاب الخريجين فقط، إذن أمام السطر المحاذي لمعايير Criteria وتحت الحقل "خريج؟" قم بكتابة الشرط "Yes" للدلالة على أنك تريد الحقول التي يكون عندها قيمة هذا الحقل تساوي "نعم" أو “Yes” أي أن الطالب خريج.
    لا أريدك أن تقوم بتنفيذ أي خطوه في الحل دون أن تفهمها جيدا، هل تعرف لم تمكنا من كتابة هذا الشرط مع هذا الحقل بالذات؟!

    الإجابة ببساطة أننا جعلنا الـData Type لهذا الحقل منذ إنشائه عبارة عن "Yes/No" وبالتالي فإن هذا الحقل لن يأخذ إلا إحدى القيمتين:

    Yes أو نعم: إذا قمت بوضع إشارة صح في هذا الحقل عند إدخال بيانات أحد الطلاب مما يعني أنه فعلا خريج.
    No أو لا: إذا لم تقم بوضع إشارة صح في هذا الحقل عند إدخال بيانات أحد الطلاب غير الخريجين.

    كما بالصورة:


    6- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة

    أو بتشغيل الاستعلام بالضغط على زر تشغيل Run


    وستظهر لك النتيجة التالية:


    لقد قمت بإنشاء استعلامك بنجاح .



    ملاحظة:
    أنت قمت بإنشاء هذا الاستعلام أساسا لاستخراج حقول الطلاب المتخرجين، فإذا كنت لا تريد إظهار الحقل الأخير "خريج؟"، فكل ما عليك هو إلغاء علامة الصح الموجودة تحت الحقل "خريج؟" والمحاذية للسطر Show في عرض التصميم Design View للاستعلام.
    وستظهر لك النتيجة عند تشغيل الاستعلام مرة أخرى بالشكل التالي:




    7- أخيرا قم بحفظ استعلامك




    تطبيق عملي:

    الآن بطريقة مماثله قم بإنشاء استعلام يقوم باستخراج سجلات الطلاب غير الخريجين واحفظه باسم
    " استعلام عن الطلاب غير الخريجين".

    لا تنسونا من دعوة صالحة في ظهر الغيب..




  10. #10
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    الاستعلامات الإجرائية -1 (استعلام إنشاء جدول)

    الاستعلامات الإجرائية

    Action Queries

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

    ماهو الاستعلام الإجرائي؟
    الاستعلام الإجرائي هو استعلام يُجري تغييرات على العديد من السجلات في عملية واحدة فقط.

    أنواع الاستعلامات الإجرائية:
    توجد أربعة أنواع من الاستعلامات الإجرائية وهي كالتالي:
    • <LI dir=rtl>استعلام حذف Delete Query
      <LI dir=rtl>استعلام تحديث Update Query
      <LI dir=rtl>استعلام إلحاقي Append Query
    • استعلام إنشاء جدول Make-Table Query
    والآن سنتناول كل نوع من الاستعلامات الإجرائية بالأمثلة.
    لن أتناولها بالترتيب الذي وضعته في مقدمة هذا الدرس، بل سأجعل الأمثلة تتناول هذه الأنواع من الأسفل للأعلى حتى يمكنني استخدام استعلام الحذف للجداول التي قمت بإنشائها وحتى نطبق استعلامات التحديث والإلحاق على الجداول التي أنشأناها من خلال النوع الأخير.
    فلنبدأ على بركة الله


    استعلامات إنشاء جدول Make-Table Queries

    مقدمة:
    ينشي استعلام إنشاء جدول Make-Table Query جدولاً جديداً من كافة البيانات أو جزء منها في جدول واحد أو أكثر.
    تعد استعلامات إنشاء الجدول مفيدة لإنشاء جدول لتصديره إلى قواعد بيانات Microsoft Access أو جدول محفوظات يحتوي على سجلات قديمة.

    ~*~*~*~*~*~*~*~*~*~*~*~*~


    مثال1:

    أنشئ استعلام على جدول الطالب Student Table وذلك لإنشاء جدول باسم "جدول الطلاب الخريجين" يتم فيه

    عرض حقول الطلاب الخريجين، واحفظ الاستعلام بالاسم "استعلام إنشاء جدول الطلاب الخريجين"؟

    الحل:


    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.



    2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
    وكما يتضح لك من السؤال أنك ستحتاج إلى جدول الطالب Student Table فقط، فقم بإضافته، ثم أغلق النافذة.



    3- من قائمة استعلام Query اختر استعلام نشاء جدول Make-Table Query كما يتضح لك من الصورة:



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


    ثم انقر على موافق OK.


    4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.

    ستحتاج لجميع حقول جدول الطالب Student Table أليس كذلك؟

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

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


    5- أنت تريد فقط استخراج حقول الطلاب الخريجين فقط، إذن أمام السطر المحاذي لمعايير Criteria وتحت الحقل "خريج؟" قم بكتابة الشرط "Yes" للدلالة على أنك تريد الحقول التي يكون عندها قيمة هذا الحقل تساوي "نعم" أو “Yes” أي أن الطالب خريج.

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

    لقد أجبتك في الدرس السابق، والإجابة ببساطة هي أننا جعلنا الـData Type لهذا الحقل منذ إنشائه عبارة عن "Yes/No" وبالتالي فإن هذا الحقل لن يأخذ إلا إحدى القيمتين:
    Yes أو نعم: إذا قمت بوضع إشارة صح في هذا الحقل عند إدخال بيانات أحد الطلاب مما يعني أنه فعلا خريج.
    No أو لا: إذا لم تقم بوضع إشارة صح في هذا الحقل عند إدخال بيانات أحد الطلاب غير الخريجين.

    كما بالصورة:





    6- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة

    أو بتشغيل الاستعلام بالضغط على زر تشغيل Run

    وستظهر لك الرسالة التالية:



    ومعنى الرسالة السابقة بالعربية:

    بأنك على وشك إلصاق 3 صفوف في جدول جديد.
    عند النقر على نعم “Yes” فلن تستطيع استخدام خاصية التراجع Undo لتغيير التغيرات الحادثة بالجدول، فهل أنت متأكد من أنك تريد إنشاء جدول بنفس السجلات المحددة؟
    أجب بنعم .
    لقد قمت بإنشاء الجدول بنجاح .


    7- قم بحفظ استعلامك


    8- من الجهة اليسرى قم باختيار جداول Tables لاستعراض كل الجداول الموجودة في قاعدة بياناتك، وستجد الجدول الجديد الذي قمت بتسميته بالاسم "جدول الطلاب الخريجين" من ضمنها، أليس كذلك؟


  11. #11
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي


    قم بفتحه لترى الآتي:


    ~*~*~*~*~*~*~*~*~*~*~*~*~

    ملاحظة:
    قمنا بإنشاء هذا الاستعلام أساسا لاستخراج حقول الطلاب المتخرجين، فإذا كنت لا تريد إظهار الحقل الأخير "خريج؟"، فكل ما عليك هو العودة إلى عرض التصميم Design View في الاستعلام الذي قمت بإنشائه في هذا المثال "استعلام إنشاء جدول الطلاب الخريجين" وإلغاء علامة الصح الموجودة تحت الحقل "خريج؟" والمحاذية للسطر Show ثم قم بتشغيل الاستعلام مرة أخرى وأجب على الرسالة التحذيرية التالية:




    بنعم Yes، وهي تفيد بأن الجدول "جدول الطلاب الخريجين" الموجود مسبقا سيتم مسحه قبل تشغيل هذا الاستعلام.

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



    بطريقة مماثلة سنقوم الآن بإنشاء استعلام لإنشاء جدول الطلاب الغير خريجين.


    ~*~*~*~*~*~*~*~*~*~*~*~*~

    مثال2:

    أنشئ استعلام على جدول الطالب Student Table وذلك لإنشاء جدول باسم "جدول الطلاب الغير الخريجين" يتم

    فيه عرض حقول الطلاب غير الخريجين، واحفظ الاستعلام بالاسم "استعلام إنشاء جدول الطلاب غير الخريجين"؟

    الحل:


    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.





    2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
    وكما يتضح لك من السؤال أنك ستحتاج إلى جدول الطالب Student Table فقط، فقم بإضافته، ثم أغلق النافذة.



    3- من قائمة استعلام Query اختر استعلام نشاء جدول Make-Table Query كما يتضح لك من الصورة:


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

    ثم انقر على موافق OK.


    4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.
    ستحتاج لجميع حقول جدول الطالب Student Table أليس كذلك؟
    بالإضافة إلى أنك ستحتاج لكتابة شرط خاص بالحقل "خريج؟" وذلك لكي يقوم هذا الاستعلام باستخراج حقول الطلاب غير الخريجين فقط.
    إذن قم بسحب جميع الحقول واحدا تلو الآخر وإسقاطها في الخلايا المحاذية للسطر "حقل" Field .


    5- أنت تريد فقط استخراج حقول الطلاب غير الخريجين فقط، إذن أمام السطر المحاذي لمعايير Criteria وتحت الحقل "خريج؟" قم بكتابة الشرط "No" للدلالة على أنك تريد الحقول التي يكون عندها قيمة هذا الحقل تساوي "لا" أو “No” أي أن الطالب غير خريج.
    كما بالصورة:



    6- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة

    أو بتشغيل الاستعلام بالضغط على زر تشغيل Run


    وستظهر لك الرسالة التالية:



    ومعنى الرسالة السابقة بالعربية:

    بأنك على وشك إلصاق صفين في جدول جديد.
    عند النقر على نعم “Yes” فلن تستطيع استخدام خاصية التراجع Undo للتراجع عن التغيرات الحادثة بالجدول، فهل أنت متأكد من أنك تريد إنشاء جدول بنفس السجلات المحددة؟
    أجب بنعم .
    لقد قمت الآن بإنشاء الجدول بنجاح .


    7- قم بحفظ استعلامك


    8- من الجهة اليسرى قم باختيار جداول Tables لاستعراض كل الجداول الموجودة في قاعدة بياناتك، وستجد الجدول الجديد الذي قمت بتسميته بالاسم "جدول الطلاب غير الخريجين" من ضمنها، أليس كذلك؟

    قم بفتحه لترى الآتي:

    ~*~*~*~*~*~*~*~*~*~*~*~*~


    ملاحظة:
    قمنا بإنشاء هذا الاستعلام أساسا لاستخراج حقول الطلاب غير الخريجين، فإذا كنت لا تريد إظهار الحقل الأخير "خريج؟"، فكل ما عليك هو العودة إلى عرض التصميم Design View في الاستعلام الذي قمت بإنشائه في هذا المثال "استعلام إنشاء جدول الطلاب الخريجين" وإلغاء علامة الصح الموجودة تحت الحقل "خريج؟" والمحاذية للسطر Show ثم قم بتشغيل الاستعلام مرة أخرى وأجب على الرسالة التحذيرية التالية:




    بنعم Yes، وهي تفيد بأن الجدول "جدول الطلاب غير الخريجين" الموجود مسبقا سيتم مسحه (لغرض إنشاء الجدول الجديد) قبل تشغيل هذا الاستعلام.

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

    هل كل شيء على ما يرام؟ أتمنى ذلك ..
    لا تنسونا من صالح دعائكم ..


  12. #12
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    الاستعلامات الإجرائية -2 (استعلام الإلحاق)

    السلام عليكم ورحمة الله ..
    في هذا الدرس سنتعرف على الاستعلام الإلحاقي Append Query، ثاني أنواع الاستعلامات الاجرائية.


    الاستعلامات الإلحاقية Append Queries

    مقدمة:

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


    ~*~*~*~*~*~*~*~*~*~*~*~*~

    مثال1:

    أنشئ استعلام يقوم بإلحاق جدول الطلاب غير الخريجين بجدول الخريجين احفظ الاستعلام باسم "استعلام الدمج

    بين جدول الطلاب الخريجين وغير الخريجين"؟

    الحل:

    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.




    2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.

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




    3- من قائمة استعلام Query اختر استعلام إلحاق Append Query كما يتضح لك من الصورة:




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




    ثم انقر على موافق OK.



    4- الآن عد لقراءة السؤال مرة أخرى، سترى أنك بحاجة لعمل إلحاق Append لجميع حقول جدول الطلاب غير الخريجين، فقم بسحبها وإسقاطها واحدا تلو الآخر إلى الشبكة Grid كما بالصورة:





    5- قم بتشغيل الاستعلام بالضغط على الأيقونة

    وستظهر لك الرسالة التالية:




    تشير إلى أنك على وشك إلحاق صفين (وهي من جدول الطلاب غير الخريجين)، فعد النقر على نعم أو Yes لن يكون بمقدورك التراجع عن هذا الإجراء) فهل أنت متأكد من أنك تريد إلحاق الصفوف المحددة؟
    أجب بنعم Yes ..

    لقد نجحت فعلا في إلحاق سجلات الغير خريجين بسجلات الخريجين في جدول الطلاب الخريجين.

    6- قبل أن تذهب إلى جدول الطلاب الخريجين لرؤية نتيجة تنفيذ استعلامك، قم بحفظ الاستعلام كما بالصورة:


    7- من الجهة اليسرى قم باختيار جداول Tables ثم انقر مرتين على "جدول الطلاب الخريجين"




    وسترى نتيجة إلحاق سجلات الطلاب غير الخريجين بالخريجين كالآتي:


    انتهى الدرس وأتمنى أن يكون كل شيء واضح لكم
    لا تنسونا من دعائكم..


  13. #13
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    الاستعلامات الإجرائية -3 (استعلام التحديث)
    السلام عليكم ورحمة الله ..
    في هذا الدرس سنتعرف على استعلام التحديث Update Query، ثالث أنواع الاستعلامات الاجرائية.

    استعلامات التحديث Update Queries

    مقدمة:

    يجري استعلام التحديث تغييرات عامة على مجموعة من السجلات في جدول واحد أو أكثر.

    على سبيل المثال، يمكنك زيادة كل طالب حصل على درجة أقل من 70 خمسة درجات لرفع المعدلات التي حصلوا عليها.
    أي أنه باستخدام استعلام التحديث، يمكنك تغيير البيانات في جداول موجودة.
    ~*~*~*~*~*~*~*~*~*~*~*~*~

    مثال:

    أنشئ استعلام باسم "استعلام تغيير الدرجات" وذلك لتغيير درجة الطالب التي تكون أقل من أو تساوي 69 واجعلها

    تساوي 70؟

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


    فان هذه الحقول سيتم تحديثها إلى القيمة 70 عند تشغيل هذا الاستعلام!


    الحل:

    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.




    2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.

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



    3- من قائمة استعلام Query اختر استعلام نشاء جدول Make-Table Query كما يتضح لك من الصورة:



    وستظهر لك شبكيه (Grid) والتي تسمى QBE - Query By Example ، كما بالصورة:



    وسنشرح ما سنقوم به في هذه النافذة:

    السطر الأول: حقل Field
    يتم إسقاط الحقل الذي نود تحديثه

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

    السطر الثالث: تحديث إلى Update To
    يتم كتابة القيمة التي سيتم تحديث أو تغيير قيم الحقول إليها.

    السطر الرابع: معايير Criteria
    يتم كتابة الشرط الذي يتم عند تحققه تحديث قيمة الحقل إلى القيمة الموضوعة مسبقا في السطر الثالث.

    السطر الخامس: أو or
    لكتابة أكثر من شرط أو معيار لنفس الحقل أو لعدة حقول يفصل بينهم العلاقة المنطقية OR.



    4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.

    ستحتاج فقط للحقل "درجة_الطالب" ، أليس كذلك؟

    إذن قم بسحب هذا الحقل وإسقاطه في أول خلية محاذية للسطر "حقل" Field.



    5- أنت تريد فقط الحقول التي تكون درجة الطالب فيها أقل من أو تساوي 69 ، إذن أمام السطر المحاذي لـUpdate To وتحت الحقل الذي قمت بإسقاطه "درجة_الطالب" اكتب القيمة التي سيتم تحديث درجة الطالب إليها ألا وهي 70، واكتب المعيار Criteria أو الشرط الذي سيتم تحديث هذا الحقل عنده ألا وهو كون الدرجة <=69.

    كما بالصورة:





    6- الآن قم بتشغيل الاستعلام بالضغط على زر تشغيل Run



    وستظهر لك الرسالة التالية:






    والتي تشير بأنك على وشك تحديث أربعة صفوف.
    عند النقر على نعم “Yes” فلن تستطيع استخدام خاصية التراجع Undo للتراجع عن التغيرات الحادثة في الجدول، فهل أنت متأكد من أنك تريد تحديث هذه السجلات؟

    أجب بنعم .
    لقد قمت الآن بتحديث الدرجات التي كانت أقل من أو تساوي 69 إلى الدرجة 70 بنجاح الجدول بنجاح .


    7- قم بحفظ استعلامك قبل أن تتجه إلى جدول الدرجات Grades Table للتأكد من نتائج استعلامك





    8- من الجهة اليسرى قم باختيار جداول Tables ثم جدول الدرجات Grades Table وستلاحظ بنفسك نتائج هذا الاستعلام:

    بالفعل فقد تم تحديث جميع السجلات التي كانت تحتوي على درجة أقل من أو تساوي 69 إلى الدرجة 70.
    انتهى الدرس وأتمنى أن يكون كل شيء واضح لكم
    لا تنسونا من دعائكم..


  14. #14
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    الاستعلامات الإجرائية -4 (استعلام الحذف)

    السلام عليكم ورحمة الله ..
    في هذا الدرس سنتعرف على استعلام الحذف Delete Query، رابع أنواع الاستعلامات الاجرائية.

    استعلامات الحذف Delete Queries

    مقدمة:

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

    ~*~*~*~*~*~*~*~*~*~*~*~*~
    مثال1:

    أنشئ استعلام لحذف سجلات جميع الطلاب غير الخريجين من جدول الطلاب الخريجين واحفظ الاستعلام باسم

    "استعلام حذف سجلات الغير خريجين"؟

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

    الحقل الذي يميز سجلات الطلاب الخريجين عن غير الخريجين هو "خريج؟"، حيث يأخذ القيمة -1 أو Yes مع الطلاب الخريجين، والقيمة 0 أو No مع غير الخريجين.
    مع ملاحظة أنه في حال قمت بعد إظهار هذا الحقل عند إنشاء استعلام جدول الطلاب الخريجين وغير الخريجين، وقمت بتطبيق استعلام الإلحاق، فانك ستلاحظ أنه لا وجود لهذا الحقل في جدول الطلاب الخريجين، كما هو الحال معي الآن
    كل ما عليك هو فتح "جدول الطلاب الخريجين" في عرض التصميم Design View ومن ثم إضافة هذا الحقل إلى الجدول كما بالصورة:



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





    ثم قم بحفظ التغيرات الحادثة في الجدول، والآن سنبدأ بحل المثال :


    الحل:

    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.




    2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
    وكما يتضح لك من السؤال أنك ستحتاج إلى جدول "جدول الطلاب الخريجين"، فقم بإضافته، ثم أغلق النافذة.





    3- من قائمة استعلام Query اختر استعلام حذف Delete Query كما يتضح لك من الصورة:





    وستظهر لك شبكيه (Grid) والتي تسمى QBE - Query By Example.

    كما بالصورة:




    وسنشرح ما سنقوم به في هذه النافذة:


    السطر الأول: حقل Field
    يتم إسقاط الحقل الذي نود حذفه فيه.

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

    السطر الثالث: حذف Delete
    وله خيارين :
    From
    Where
    ويتم اختيار النوع المناسب منهما تلقائيا.

    السطر الرابع: معايير Criteria
    الشرط الذي يتم عند تحققه حذف السجلات التي تم تحديدها في الشبكة.

    السطر الخامس: أو or
    لكتابة أكثر من شرط أو معيار لنفس الحقل أو لعدة حقول يفصل بينهم العلاقة المنطقية OR.



    4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستقوم بحذفها في هذا الاستعلام.
    ستحتاج لحذف جميع حقول الطلاب غير الخريجين، بالإضافة إلى أنك ستكتب الشرط الخاص بعملية الحذف تحت الحقل "خريج؟" فقط!
    إذن قم بسحب هذه الحقول وإسقاطها واحدا تلو الآخر في الخلايا المحاذية للسطر "حقل" Field.



    5- أنت تريد فقط حذف سجلات الطلاب غير الخريجين، والذين تم إلحاق سجلاتهم بسجلات الطلاب الخريجين في المثال الذي قمت بتطبيقه في درس استعلامات الإلحاق، ولذا لا بد من كتابة الشرط الذي عند تحققه يتم الحذف ألا وهو كون الطالب غير خريج، وبالتالي نكتب No تحت الحقل "خريج؟" وفي السطر المحاذي لمعايير Criteria.

    كما بالصورة:





    6- الآن قم بتشغيل الاستعلام بالضغط على زر تشغيل Run


    وستظهر لك الرسالة التالية:





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

    عند النقر على نعم “Yes” فلن تستطيع استخدام خاصية التراجع Undo للتراجع عن التغيرات الحادثة في الجدول، فهل أنت متأكد من أنك تريد حذف السجلات المحددة؟

    أجب بنعم .
    لقد قمت الآن بحذف سجلات الطلاب الغير خريجين من جدول الطلاب الخريجين .


    7- قم بحفظ استعلامك قبل أن تتجه إلى جدول الطلاب الخريجين للتأكد من نتائج استعلامك





    8- من الجهة اليسرى قم باختيار جداول Tables ثم جدول الطلاب الخريجين، وستلاحظ بنفسك نتائج هذا الاستعلام:





    هل كل شيء على ما يرام؟ أتمنى ذلك

    ~*~*~*~*~*~*~*~*~*~*~*~*~
    سنتناول الآن مثالا لحذف سجلات جدول بأكمله:

    مثال2:

    أنشئ استعلام باسم "استعلام حذف جدول الطلاب غير الخريجين" يتم فيه حذف جميع سجلات الطلاب غير

    الخريجين؟

    الحل:
    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.




    2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
    وكما يتضح لك من السؤال أنك ستحتاج إلى جدول "جدول الطلاب غير الخريجين"، فقم بإضافته، ثم أغلق النافذة.




    3- من قائمة استعلام Query اختر استعلام حذف Delete Query كما يتضح لك من الصورة:



    وستظهر لك شبكيه (Grid) والتي تسمى
    QBE - Query By Example، كما بالصورة:



    4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستقوم بحذفها في هذا الاستعلام.
    ستحتاج لحذف جميع حقول هذا الجدول بدون قيد أو شرط!

    إذن قم بسحب هذه الحقول وإسقاطها واحدا تلو الآخر في الخلايا المحاذية للسطر "حقل" Field.
    أو قم بالنقر مرتين على علامة * والتي تدل على إضافة جميع حقول هذا إلى الشبكية، كما بالصورة:




    6- الآن قم بتشغيل الاستعلام بالضغط على زر تشغيل Run


    وستظهر لك الرسالة التالية:




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

    عند النقر على نعم “Yes” فلن تستطيع استخدام خاصية التراجع Undo للتراجع عن التغيرات الحادثة في الجدول، فهل أنت متأكد من أنك تريد حذف السجلات المحددة؟
    أجب بنعم .
    لقد قمت الآن بحذف جميع سجلات جدول الطلاب غير الخريجين .


    7- قم بحفظ استعلامك قبل أن تتجه إلى هذا الجدول للتأكد من نتائج استعلامك





    8- من الجهة اليسرى قم باختيار جداول Tables ثم جدول الطلاب غير الخريجين، وسترى بنفسك أن الجدول خالي من جميع السجلات.

    ~*~*~*~*~*~*~*~*~*~*~*~*~

    انتهينا من الاستعلامات الإجرائية وأتمنى أن يكون كل شيء واضح لكم
    لا تنسونا من دعائكم..


  15. #15
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    استعلامات SQL في Access - الجزء الأول

    السلام عليكم ورحمة الله وبركاته. يمكنك آكسس من كتابة استعلامك عن طريق عبارات SQL ..
    يوجد في الموسوعة العربية دروسا وافية وشاملة تشرح الـSyntax لعبارات SQL وتشرح أنواعها مع التزويد بأمثلة نظرية متعددة. وحتى يسهل عليك تطبيق الأمثلة معي في هذاالدرس بكل يسر وسهولة يجب عليك مراجعة تلك الدروس أولا على هذا الرابط:
    http://www.c4arab.com/showasection.php?lssid=99


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

    سنعتمد في هذه الدروس على قاعدة البيانات ذاتها، ويمكنك الرجوع إليها في هذا الدرس:
    http://www.c4arab.com/showlesson.php?lesid=1306


    أولا: استعلامات التحديد Select Queries
    مثال1: على قاعدة البياناتmy database التي قمت بإنشائها مسبقا قم بإنشاء استعلام على جدول الطالب

    Student Table لعرض رقم واسم كل طالب وحالته الدراسية (هل هو خريج أم لا؟) باستخدام SQL Statements؟
    الحل:

    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.




    2- أغلق نافذة ShowTable ثم قم بالنقر على الأيقونة:

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

    3- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.
    ستجد أنك لن تحتاج لجميع حقول Student Table ، بل ستحتاج فقط إلى الحقول الأربعة التالية:

    • <LI dir=rtl>الرقم
      <LI dir=rtl>الاسم_الأول
      <LI dir=rtl>الاسم_الأخير
    • خريج؟
    إذن سيتم كتابة الأمر على النحو التالي:




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


    4- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة

    أو بتشغيل الاستعلام بالضغط على زر تشغيل Run
    وستظهر لك النتيجة التالية:

    لقد قمت بإنشاء استعلامك بنجاح .


    5- أخيرا قم بحفظ استعلامك.


    مثال2: على قاعدة البيانات my database التي قمت بإنشائها سابقا قم بإنشاء استعلام على الجداول الثلاثة ,

    Grades Table, Course Table, Student Table لعرض الحقول التالية: رقم الطالب، اسم الطالب، اسم المادة،

    درجة المادة التي حصل عليها الطالب باستخدام SQL Statements؟
    الحل:
    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.



    2- أغلق نافذة ShowTable ثم قم بالنقر على الأيقونة:


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

    3- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.
    ستجد أنك لن تحتاج إلا إلى الحقول التالية:

    من جدول الطالب Student Table:
    • <LI dir=rtl>الرقم
      <LI dir=rtl>الاسم_الأول
    • الاسم_الأخير
    من جدول المادة Course Table:
    • اسم_المادة
    من جدول الدرجات Grades Table:
    • درجة_المادة
    إذن سيتم كتابة الأمر على النحو التالي:



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


    4- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة

    أو بتشغيل الاستعلام بالضغط على زر تشغيل Run

    وستظهر لك النتيجة التالية:

    لقد قمت بإنشاء استعلامك بنجاح .


    5- أخيرا قم بحفظ استعلامك.



    ملاحظة: في الاستعلام السابق تم الاعتماد على العلاقات Relationships الموجودة مسبقا بين الجداول.. ماذا لو كانت تلك العلاقات غير موجودة، كيف سيكون شكل جملة الـSQL التي ستستخدم لحل المثال السابق؟

    إذا لم تكن العلاقات التي تم إنشاؤها في هذا الدرس:
    http://www.c4arab.com/showlesson.php?lesid=1306

    موجودة بين الجداول، فإننا سنقوم بتحديد تلك العلاقات عبر جملة الـSQL كالتالي:






    قم بتشغيل استعلامك وسترى بأنك ستحصل على نفس النتيجة السابقة.

    لاتنسونا من صالح دعائكم..




  16. #16
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    استعلامات SQL في Access - تعديل الجداول وإضافة الحقول
    السلام عليكم ورحمة الله وبركاته
    سنقوم في هذا الدرس إنشاء قاعدة بيانات وجدول ومن ثم إضافة حقول الجدول على محرر خاص بأوامر SQL عبر برنامج ميكروسوفت آكسس باستخدام الأمر ALTER Table


    الخطوة الأولى:
    فتح البرنامج Start --> Programs --> Microsoft Access


    الخطوة الثانية:
    نختار Blank Database ثم نقوم بتسميتها بالاسم COMPANY مثلا ، ثم ننقر على CREATE بعد كتابة الاسم.


    الخطوة الثالثة:
    نحدد على الكائن Tables من الجهة اليسرى، ثم ننقر على New ثم نختار Design View ثم ننقر على OK.


    الخطوة الرابعة:
    سأجرب الآن إنشاء الجدول EMPLOYEE بحقل واحد فقط ثم أضيف بقية الحقول عن طريق Query SQL وليس بالطريقة العادية..
    ثم يتم حفظ الجدول بالاسم EMPLOYEE
    سأفتح الجدول الآن فقط لنرى شكله الحالي ونقارنه بشكله بعد إضافة بقية الحقول عن طريق SQL Statements.

    الآن نأتي إلى أهم الخطوات:
    الخطوة الخامسة:
    نحدد الكائن استعلامات Query من الجهة اليسرى، ثم نختار New ثم Design View


    الخطوة السادسة:
    نغلق نافذة Show Table ثم نختار من قائمة View الخيار SQL View وسيفتح بعدها محرر SQL
    ملاحظة: هذا المحرر خاص بالاستعلامات على الجداول التي تم إنشاؤها مسبقا وبالتالي لا يمكن استخدام الأمر CREATE TABLE لإنشاء الجدول مثلما هو مطلوب في السؤال ولكن سنستخدم الأمر ALTER TABLE لتعديل الجدول بحيث نضيف بقية الحقول المطلوبة..





    الخطوة السابعة:
    يتم إضافة الحقول واحدا تلو الآخر عن طريق SQL STATEMENTS كالتالي:






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

    آمل أن يكون الدرس واضح، ودعوة صالحة في ظهر الغيب هي رجائي..

    استعلامات SQL في Access - تحديث البيانات الجدولية


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

    تناولنا في الجزء الأول من هذه الدروس استعلامات التحديد، وفي هذا الدرس سنتناول الشرح مع الأمثلة لاستعلامات التحديث.

    مثال:

    أنشئ استعلام باسم "استعلام تغيير الدرجات" وذلك لتغيير درجة الطالب التي تكون أقل من أو تساوي 69 واجعلها تساوي 70 باستخدام SQL Statements ؟
    الحل:

    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.



    2- أغلق نافذة ShowTable ثم قم بالنقر على الأيقونة:

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

    3- الآن عد لقراءة السؤال مرة أخرى، ستجد أنك تحتاج فقط للحقل "درجة_الطالب" ، أليس كذلك؟

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



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


    4- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة

    أو بتشغيل الاستعلام بالضغط على زر تشغيل Run


    وستظهر لك الرسالة التالية:


    والتي تشير بأنك على وشك تحديث أربعة صفوف.
    عند النقر على نعم “Yes” فلن تستطيع استخدام خاصية التراجع Undo للتراجع عن التغيرات الحادثة في الجدول، فهل أنت متأكد من أنك تريد تحديث هذه السجلات؟
    أجب بنعم .
    لقد قمت الآن بتحديث الدرجات التي كانت أقل من أو تساوي 69 إلى الدرجة 70 بنجاح الجدول بنجاح .


    5- قم بحفظ استعلامك.

    6- من الجهة اليسرى قم باختيار جداول Tables ثم جدول الدرجات Grades Table وستلاحظ بنفسك نتائج هذا الاستعلام:




    نراكم في الدرس القادم، ولاتنسونا من دعائكم


  17. #17
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    استعلامات SQL في Access - حذف مجموعة من السجلات تحت شروط معينة


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

    في هذا الدرس سنتناول بإذن الله استعلام الحذف باستخدام محرر أوامر SQL.

    مثال:

    أنشئ استعلام لحذف سجلات جميع الطلاب غير الخريجين من جدول الطلاب الخريجين باستخدام SQL Statements ؟
    الحل:

    1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.


    2- أغلق نافذة ShowTable ثم قم بالنقر على الأيقونة:


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

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






    4- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة

    أو بتشغيل الاستعلام بالضغط على زر تشغيل Run

    وستظهر لك الرسالة التالية:

    والتي تفيد بأنك على وشك حذف صفين من الجدول الذي قمت باختياره (جدول الطلاب الخريجين).
    عند النقر على نعم “Yes” فلن تستطيع استخدام خاصية التراجع Undo للتراجع عن التغيرات الحادثة في الجدول، فهل أنت متأكد من أنك تريد حذف السجلات المحددة؟
    أجب بنعم .
    لقد قمت الآن بحذف سجلات الطلاب الغير خريجين من جدول الطلاب الخريجين .

    5- قم بحفظ استعلامك.

    6- من الجهة اليسرى قم باختيار جداول Tables ثم جدول الطلاب الخريجين، وستلاحظ بنفسك نتائج هذا الاستعلام:






    تطبيق سريع:
    ماذا لو أردت حذف جميع السجلات في جدول الطلاب غير الخريجين؟
    سيكون أمر السكويل كالتالي:


    حيث أنه لايوجد شرط معين يتم الحذف عنده، وبالتالي سيتم حذف جميع السجلات عند تشغيل هذا الاستعلام.


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

    المقدمة :
    في هذا الدرس سنتعلم كيفية منع إدخال سجل مكرر فى حقل من الحقول فى برنامج الأكسس الخاص بشركة مايكروسوفت
    الدرس:
    - التحكم فى برنامج الكسس غالباً ما يكون بإستخدام الخصائص عند تصميم الجدول أو بإستخدام الماكرو بوضع الحالة التى يجب ان تكون عليها الحقل المطلوب التحكم فيه . الماكرو وتصميمه يحتاج لتفصيل قد يطول.
    - أو التحكم يكون بإستخدام حدث الفيجوال بيسك المناسب للحقل . لم أتطرق إلى الأحداث بل سأختصر بالحدث الذى نريده هنا وهو (BeforeUpdate) قبل حفظ التغييرات التى حدثت على السجل المدخل.
    وإليكم الحدث مصمم بالفيجوال بيسك :
    Private Sub ST-Name_BeforeUpdate(Cancel As Integer)
    If(Not IsNull(DLookup("[ST-Name]", _
    "Student", "[ST-Name] ='" _
    & Me!ST-Name & "'"))) Then
    MsgBox "هذا الرقم مكرر."
    Cancel = True

    End If
    End Sub

    حيث أن (ST-Name) هو الحقل المطول منع التكرار فيه.
    و ( student) هو الجدول الذى يحوى بيانات ال(ST-Name) والبيانات الأخرى.
    هكذا بالإستعانة ببرنامج الـفيجوال بيسك ستسطيع منع التكرار في الحقول.


  18. #18
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    مقدمة عامة للبرمجة في Access



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

    إذا احتجت إلى استخدام البرمجة في Access فأمامك خياران: استخدام ماكرو Macro أواستخدام الأحداث وإجراءاتها عن طريق (Microsoft Visual Basic for Applications (VBA ويعتمد ذلك على ما تريد أن تفعله.
    سنتعرف في درسنا على طبيعة كل منهما ومتى يتحتم عليك استخدام أحدهما دون الآخر إن شاء الله علماً بأن هذه الدروس استخلصتها من محاضرات وعدة كتب هي:
    • Wrox, Beginning Access 2002 VBA.
    • Hungry Minds, Access 2002 Bible.
    • SAMS, Teach yorself MS Access 2002 in 21 Daus.
    • كومبيوساينس، البرمجة المتقدمة باستخدام قاعدة بيانات Access 2002.
    • المساعدة help الملحقة ببرنامج الـAccess.
    تذكر أن السهولة في Microsoft Access، تمكنك من أداء العديد من المهام باستخدام وحدات الماكرو Macro أو من خلال واجهة المستخدم الرسومية. بينما في العديد من برامج قواعد البيانات الأخرى، تتطلب المهام نفسها منك بعض الأكواد البرمجية.


    متى يجب استخدام الماكرو؟
    يُعتبر الماكرو طريقة سهلة لتنفيذ بعض التفاصيل الدقيقة (تسمى إجراءات الماكرو) مثل فتح النماذج وإغلاقها وتشغيل السجلات. يمكنك ربط كائنات قاعدة البيانات Database Objects التي قمت بإنشائها بسرعة ويسر حيث يرجع ذلك إلى قلة عدد بناء الجمل الواجب تذكره إذا استخدمت الماكرو، يتم عرض الوسائط Argument لكل إجراء في الجزء السفلي من الإطار ماكرو Script Window. كما توضح الصورة التالية:
    بالإضافة إلى السهولة التي يوفرها استخدام الماكرو، يجب استخدام الماكرو من أجل:
    • إجراء مفاتيح تعيين عمومية: بمعنىTrapping certain keystrokes throughout the application.
    • تنفيذ إجراء أو سلسلة من الإجراءات عند فتح قاعدة البيانات لأول مرة:وذلك باستخدام الماكرو AutoExec، بمعنى Carrying out a series of actions whenever a database is opened.
      في المقابل: يمكنك استخدام مربع حوار بدء التشغيل لتنفيذ بعض الأوامر المعينة عند فتح قاعدة البيانات، مثل فتح نموذج.


    ومتى يجب استخدام (Visual Basic for Applications (VBA؟
    يجب استخدام Visual Basic بدلاً من الماكرو إذا أردت:
    • إنشاء الدوال المعرفة من قبل المستخدم (User-Defined Functions (UDFs: التي تستخدم لأداء التعبيرات المركبة المستخدمة لاختبار صحة البيانات أو حساب القيم الموجودة داخل مربعات النصوص والكثير من المهام الأخرى. بمعنى VBA enables you to provide complex functionality.

    • إجراء عمليات التبادل مع المحرك Jet عن طريق عبارات SQL المتمثلة في العبارات Begin Transaction, Commit Transaction and Rollback Transaction.

    • العمل مع أدوات ActiveX والكائنات الأخرى للتطبيق باستخدام الكود التلقائي.

    • فتح أكثر من قاعدة بيانات داخل نفس التطبيق.

    • جعل قاعدة بيانات سهلة الصيانة: نظراً لكون وحدات الماكرو كائنات منفصلة عن النماذج والتقارير التي تستخدمها، فقد يصعب صيانة قاعدة البيانات التي تحتوي على العديد من وحدات الماكرو التي تستجيب لأحداث في النماذج والتقارير. على عكس ذلك، فإن إجراءات أحداث الفيجيوال بيسك Visual Basic Event Procedure مضمنة داخل تعريفات النماذج والتقارير. فإذا قمت بنقل نموذج أو تقرير من قاعدة بيانات إلى قاعدة بيانات أخرى، يتم نقل إجراءات الأحداث المضمنة في النماذج والتقارير معه. بمعنى Using VBA makes your database easier to maintain.

    • معالجة رسائل الخطأ: عند حدوث شئ غير متوقع أثناء عمل مستخدم في قاعدة بياناتك، يعرض Access رسالة خطأ، قد تبدو تلك الرسالة غامضة بعض الشىء بالنسبة للمستخدم، وخاصة إذا لم يكن على دراية كافية بـ Access. باستخدام Visual Basic تستطيع الكشف عن الخطأ عند حدوثه وعرض الرسالة الخاصة بك أو القيام بأي إجراء. بمعنى You can trap (intercept) and handle errors using VBA.

    • إنشاء الكائنات أو معالجتها: في معظم الأحوال، سوف تجد أنه من الأفضل والأيسر إنشاء الكائنات وتعديلها في طريقة العرض "تصميم Design View" الكائنات. على الرغم من ذلك، في بعض الحالات قد تحتاج إلى معالجة تعريف كائن ما في التعليمات البرمجية. باستخدام Visual Basic، يمكنك معالجة كافة البيانات في قاعدة بيانات وقاعدة البيانات نفسها.

    • تنفيذ إجراءات على مستوى النظام: يمكنك تنفيذ الإجراء RunApp في ماكرو لتشغيل تطبيق آخر يستند إلى Microsoft Windows أو Microsoft MS-Dos من تطبيقك، ولكن لا يمكنك استخدام الماكرو للقيام بأكثر من ذلك من خارج Access. باستخدام Visual Basic، يمكنك التحقق من وجود ملف على النظام، استخدم "التنفيذ التلقائي Automation" أو تبادل البيانات الديناميكي DDE) Dynamic Data Exchanged) للاتصال مع التطبيقات الأخرى المستندة إلى Windows مثل Microsoft Excel، واستدعاء دالات في مكتبة الارتباط الحيوي (DLLs) في Windows. بمعنى Using VBA allows you to interact with other applications.

    • معالجة السجلات كل على حدة:يمكنك استخدام Visual Basic للخطو خلال مجموعة من السجلات كل سجل على حدة وإجراء عملية على كل سجل. على العكس من ذلك تعمل وحدات الماكرو مع مجموعات السجلات كوحدة واحدة. بمعنى Using VBA gives you more programmatic control.

    • تمرير الوسائط إلى إجراءات Visual Basic: يمكنك تعيين وسائط لإجراءات الماكرو في أسفل الإطار "ماكرو" وذلك عند إنشاءه، ولكن لا يمكنك تغييره أثناء التشغيل. وعلى عكس ذلك، فباستخدام Visual Basic يمكنك تمرير الوسائط إلى التعليمات البرمجية أثناء تشغيلها أو يمكنك استخدام متغيرات Variables للوسائط— وهذا يعد مستحيل حدوثه في الماكرو. يتيح لك هذا قدر كبير من المرونة في كيفية تشغيل إجراءات Visual Basic.

    • أخيراً، VBA أسرع في التنفيذ من الماكرو، أي VBA is faster to execute than macros.

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

    مقدمة للبرمجة باستخدام VBA في Access [الجزء الأول: الأحداث وإجراءات الأحداث]


    بسم الله الرحمن الرحيم
    الأحداث وإجراءات الأحداث
    يتم كتابة التعليمات البرمجية لـ (Visual Basic for Applications (VBA في وحدات تسمى إجراءات. يحتوي الإجراء على سلسلة من عبارات Visual Basic التي تنفذ عملية أو تحسب قيمة. سنتعرف في الجزء الأول هذا الدرس على المصطلحات والمفاهيم العامة للإجراءات عموماً في الـAccess، وفي الجزء الثاني سنقوم سوياً عملياً ومرئياً بتنفيذ الإجراءات التي أستخدمت في شرح أمثلة الجزء الأول إن شاء الله
    في البداية: ما هو إجراء الحدث؟
    إجراء الحدث هو: إجراء يتم تشغيله استجابة لبدء تشغيل حدث من قبل المستخدم أومن قبل التعليمات البرمجية للبرنامج، أويتم تشغيله بواسطة النظام.
    حسناً، وما هو الحدث؟
    الحدث هو حدث محدد يقع في -أو مع- كائن معين. يمكن أن يستجيب Microsoft Access لأحداث مختلفة: نقرات الماوس وتغييرات في بيانات وفتح نماذج أو إغلاقها وأشياء أخرى كثيرة، يمكنك رؤيتها عند عرض تبويب Event من خصائص أي كائن في قاعدة البيانات، فمثلاً: عند عرض هذا التبويب في أحد نماذج Form قاعدة بياناتك، سيظهر لك كما في الصورة التالية:
    نعم، من هذه القائمة الطويلة والمليئة بالأحداث يمكنك اختيار الحدث الذي تريد تنفيذ بعض الإجراءات (تعليمات برمجية) عند حدوثه. لابد من التنويه هنا إلى أن هذه القائمة تختلف من كائن إلى كائن في الـAccess.
    تذكر أنك باستخدام إجراء حدث، يمكنك إضافة الاستجابة المخصصة (الأكواد البرمجية) الخاصة بك إلى حدث يقع في نموذج أو تقرير أو عنصر تحكم، عن طريق اختيار [Event Procedure] ثم الضغط على النقاط الثلاث كما توضح الصورة التالية:

    هنا، قررنا إضافة إجراء وحددنا أن الحدث الذي يجرى الإجراء مصاحباً معه هو On Load. بعد الضغط على مربع النقاط الثلاث ستُفتح لك نافذة Microsoft Visual Basic يمكنك فيها كتابة التعليمات البرمجية التي تناسبك كما سنوضحها في الجزء الثاني يلي إن شاء الله.
    </SPAN>
    إذن ما هو الإجراء؟
    الإجراء عبارة عن وحدة من التعليمات البرمجية لـ Microsoft Visual Basic أو يمكننا القول (Visual Basic for Applications (VBA ما دمنا نتحدث عن الـAccess، فكلاهما في حديثنا وجهان لعملة واحدة
    يحتوي الإجراء على سلسلة من العبارات التي تنجز عملية أو تحسب قيمة. على سبيل المثال، يستخدم إجراء الحدث التالي أسلوب OpenForm لفتح نموذج (الموظفين):

    Private Sub Form_Load( )
    DoCmd.OpenForm "بيانات الأعضاء"
    End Sub



    يوجد نوعان من الإجراءات: الإجراءات الفرعية وإجراءات الدالة (الإجراء دالة)، يأتي توضيحهما في ما يلي:
    • الإجراءات الفرعية Sub Procedure:</B>
    الإجراءات الفرعية التي تنجز عملية أو سلاسل من العمليات لكنها لا ترجع قيمة. يمكنك إنشاء الإجراءات الفرعية الخاصة بك أو استخدام قوالب إجراء الحدث الذي ينشئه Microsoft Access. يبدأ الإجراء الفرعي بالعبارة Sub وينتهي بالعبارة End Sub.
    يوجد لكل نموذج أو تقرير في قاعدة البيانات وحدة نمطية للنموذج أو وحدة نمطية للتقرير مضمنة وهي تحتوي على قوالب جاهزة لإجراء الحدث يمكنك فيها إضافة التعليمات البرمجية التي تعمل استجابة للأحداث التي تقع في النموذج أو التقرير أو عناصر التحكم (كما وضحت الصورة الأولى والصورة الثانية في هذا الدرس، وكما سيوضح الجزء الثاني من الدرس إن شاء الله).
    عندما يتعرف Microsoft Access على حدث تم وضع إجراء له في نموذج أو تقرير أو عنصر تحكم، يتم تشغيل إجراء الحدث المطلوب تلقائياً للكائن فور حدوث الحدث فيه.


    • إجراءات الدالة Function Procedure:
    الإجراءات دالة (غالباً ما تسمى دالة) تُرجع قيمة، مثل نتيجة حساب. تتضمن Microsoft Visual Basic العديد من الدالات المضمنة يمكنك إنشاء دالة باستخدام العبارة Function وإنهاؤها بالعبارة End Function. كما يمكنك استخدام الدوال المبنية مسبقاً في اللغة، على سبيل المثال، ترجع الدالة Now التاريخ والوقت الحالي.

    نتيجة لأن الدالة تقوم بإرجاع قيم، يمكنك استخدامها في أي تعبيرات برمجية في العديد من الأماكن في Microsoft Access أو في Module البرمجة لـ Visual Basic أو في العديد من إعدادات الخصائص أو في تعبير المعايير في عامل تصفية أو استعلام.
    مثال:
    يُرجع المثال التالي لإجراء دالة FirstOfNextMonth تاريخ اليوم الأول من الشهر التالي للتاريخ الحالي:
    Function FirstOfNextMonth( )
    FirstOfNextMonth = DateSerial(Year(Now), Month(Now) + 1, 1)
    End Function
    تحسب هذه الدالة النتيجة باستخدام الدالات DateSerial وYear وNow وMonth الـمبنية مسبقاً فيVBA.
    بعد إنشاء هذه الدالة، يمكنك استخدامها في التعبير في أي مكان في Microsoft Access. على سبيل المثال، يمكنك تحديد أن يعرض مربع النص اليوم الأول من الشهر بعد التاريخ الحالي كقيمة الافتراضية للمربع بإعداد الخاصية قيمة افتراضية الخاصة بعنصر تحكم مربع نص للتعبير التالي في صفحة الخاصية:

    =FirstOfNextMonth( )


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





    مقدمة للبرمجة باستخدام VBA في Access [الجزء الثاني: الأمثلة]



    بسم الله الرحمن الرحيم
    أمثلة استخدام إجراء الحدث كإستجابة لحدوث هذا الحدث
    بعد أن تعرفنا على أنواع الإجراءات في الـAccess في الجزء الأول من هذا الدرس، نطبق معاً في الجزء الثاني جميع الأمثلة التي شرحناها في الجزء الأول
    في البداية لابد أن تعلم إنك عندما تنشئ إجراء حدث لأحد الكائنات، يضيف Microsoft Access قالب إجراء حدث باسم الحدث والكائن إلى الوحدة النمطية الخاصة بالنموذج أو التقرير. كل ما تحتاج فعله هو إضافة تعليمة برمجية تستجيب بالطريقة التي تريدها إلى الإجراء الذي تريده عندما يقع الحدث في هذا النموذج أو التقرير.
    والآن إلى التطبيق العملي
    المثال الأول: الإجراء الفرعي Sub Procedure:
    والآن، لنطبق المثال الأول الذي شرحناه بالصور في الجزء الأول، ولنطبقه على قاعدة البيانات Member التي أنشأتموها في الدروس السابقة في هذا القسم:
    افترض أننا نريد فتح نموذج "بيانات الأعضاء" عندما يُفتح موذج "إجمالي الأعضاء من كل دولة" - حيث أن كلا النموذجين قمنا ببناءهما في قاعدة بياناتنا في الدروس السابقة-، لعمل ذلك اتبع الخطوات التالية:

    1. من خصائص نموذج "إجمالي الأعضاء من كل دولة" اختر تبويب Event.
    2. عند الحدث On Load قف بالماوس، ستظهر لك قائمة منسدلة بها خيار واحد فقط ألا وهو: Event Procedure، قم بتحديده.
    3. اضغط المربع الذي يحوي على ثلاث نقاط، كما توضح الصورة:

    4. ستفتح لك نافذة VBA وهي نافذة الوحدة النمطية التي يخصصها الـAccess لكل نموذج، وستجد أنها تحوي على تعريف لبداية الحدث ونهايته على النحو التالي:
      Private Sub Form_Load( )

      End Sub

      <LI dir=rtl>
      قم بإضافة السطر الذي يحوي على أمر فتح نموذج بيانات الأعضاء كما توضح الصورة التالية:

    5. الآن، اغلق نافذة VBA وقن بحفظ التغييرات التي أجريناها على نموذج "إجمالي الأعضاء من كل دولة" ثم جرب عمل الإجراء الذي كتبناه، افتح النموذج، ستجد أنه بمجرد حدوث Load له سيتم تنفيذ إجراءنا وسيظهر لك نموذج "بيانات الأعضاء"، كما توضح الصورة:
    -=-=-=-=-=-=-=-=-=-

    المثال الثاني: إجراء الدالة Function Procedure: هذا المثال يمكنك تطبيقه على أي قاعدة بيانات موجودة لديك، أو حتى قاعدة بيانات جديدة لأننا هنا سنعرف دالة في الـAccess ومن ثم سنستخدمها في نموذج.
    نعم بالضبط، سنستخدم الدالة
    FirstOfNextMonth التي تطرقنا لها في الجزء الأول كي تقوم بكتابة تاريخ اليوم الأول من الشهر التالي للتاريخ الحالي كقيمة في مربع نص داخل فورم جديد سننشأه سوياً. النتيجة النهائية ستظهر لنا كما توضح الصورة:
    سؤال: أين يتم تعريف أو كتابة الدالة؟
    أجبنا على هذا السؤال في آخر الجزء الأول، وسنعيد الإجابة هنا: يمكنك تعريف الدالة بصورة عامة في
    في الوحدة النمطية القياسية العامة Standard Module، أو يمكنك تعريفها في الوحدة النمطية الخاصة للنموذج Form Module أو للتقرير Report Module. تذكر أنه لا يمكنك استخدام دالة عامة غير معرفة في فئة الوحدة النمطية Class Module كإعداد لخاصية في نموذج أو تقرير.
    سنستخدم الطريقة العامة لتعريف هذه الدالة وسنستخدم أبسط طريقة لإسناد القيمة التي ترجعها إلى نموذجنا، كما يلي:
    أولا: تعريف الدالة:
    1. افتح أي قاعدة بيانات موجودة لديك، ثم حدد أي Form موجود فيها، ثم إذهب إلى قائمة عرض View ثم إلى code كما توضح الصورة:
      أو يمكنك أن تقوم مباشرة بالضغط على رمز code على شريط الأدوات Database كما توضح الصورة:
      ملاحظة: لا تقلق حول اختيار أي Form للوقوف عليه، لأن الدالة ستعرف بشكل عام.

    2. ستفتح لك نافذة VBA قم بكتابة الدالة التالية فيها:
      Function FirstOfNextMonth( )
      FirstOfNextMonth = DateSerial(Year(Now), Month(Now) + 1, 1)
      End Function
    3. أغلق نافذة VBA.
    ثانياً: ربط الدالة بالنموذج:
    1. قم بإنشاء نموذج جديد في عرض التصميم Design View.
    2. قم بإضافة أداة مربع نص Text Box إليه.
    3. غيّر عنوان مربع النص إلى "التاريخ المفترض للتخرج من الجامعة" أو أي عنوان آخر كما يحلو لك.

    4. من خصائص مربع النص إذهب إلى تبويب Data ثم أضف الكود التالي إلى خاصية "قيمة افتراضية Default Value" كما توضح الصورة:
      =FirstOfNextMonth( )
      ملاحظة: يمكنك وضع الكود في خاصية Control Source كذلك.
    5. احفظ النموذج بأي اسم وليكن Form1 مثلاً.
    6. اعرض النموذج، ستجد أنه يضيف القيمة المرجعة من الدالة إلى الـText Box تلقائياً كقيمة افتراضية
    ملاحظات:
    • صحيح أننا لم نتحدث بالتفصيل عن الدوال المبنية مسبقاً في الـVBA والتي استخدمناها في مثالنا مثل DateSerial وYear وNow وMonthولكن لا تقلق يمكنك تعلمها بسهولة.
    • لاختبار التعبيرات البرمجية التي تكتبها في أي إجراء مباشرة في نافذة Microsoft Visual Basic أو VBA، يمكنك إظهار نافذة الترجمة الفورية Immediate window من قائمة عرض View أو بالضغط على Ctrl+G. وإليك طريقة التعامل معها:
      1- اكتب فيها علامة الاستفهام (؟) ثم اكتب التعبير الذي تريد اختبار صحته، ثم اضغط Enter.
      2- ستعيد لك قيمة التعبير أو الدوال التي استخدمتها، انظر للصورة التالية كي تشاهد كيف تعاملنا معها في مثالنا الحالي:


    </SPAN>-=-=-=-=-=-=-=-=-=-

    في نهاية هذا الدرس بجزأيه أرجو أن تكون بيئة الـAccess البرمجية قد اتضحت تماماً لك أيها القارئ الكريم، فهذا هو الهدف من الدرس.</SPAN>
    والسلام عليكم ورحمة الله وبركاته


  19. #19
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

    إنشاء شريط أدوات خاص بقاعدة البيانات (1)


    بسم الله الرحمن الرحيم
    في هذه الدروس ستتعرف أخي القارئ على كيفية إنشاء شريط أدوات خاص بقاعدة بيانات، تضع فيه القوائم وأزرار الأوامر التي تريدها.
    مقدمة: أشرطة الأدوات في الـAccess:
    يوجد في الـAccess مجموعة من أشرطة الأدوات الجاهزة العامة أوالخاصة والتي يرتبط كلٌ منها بطريقة عرض معينة، ولابد من أنك رأيت هذه الأشرطة واستخدمتها من قبل، حيث أن أشرطة الأدوات العامة هي:
    شريط أدوات قاعدة البيانات، شريط أدوات تصميم جدول، شريط أدوات صفحة بيانات جدول، شريط أدوات تصفية/ فرز، شريط أدوات تصميم استعلامات، شريط أدوات صفحة بيانات استعلام، شريط أدوات تصميم نموذج، شريط أدوات عرض نموذج، شريط أدوات تصميم تقرير، شريط أدوات معاينة قبل الطباعة، شريط أدوات علاقات، شريط أدوات علاقات، شريط أدوات الماكرو، وشريط أدوات الوحدة النمطية.
    أما الأشرطة ذات الأغراض الخاصة فهي خمسة، كالتالي:
    1. شريطا أدوات الوظيفة المساعدة 1 و2 اللذان يستخدمان لبناء أشرطة الأدوات المضمنة الخاصة بك، وهما غير مرتبطان بطريقة عرض معينة.
    2. شريط أدوات Microsoft الذي يحتوي على أزرار تشغيل برامج Microsoft التطبيقية الأخرى مثل الـWord، ولا يرتبط بطريقة عرض معينة.
    3. مربع الأدوات الذي يجتوي على أدوات مختلفة من عناصر التحكم المستخدمة في النماذج والتقارير، ويظهر تلقائياً عند عرض تصميم النموذج أو التقرير.
    4. شريط لوحة الألوان الذي يحتوي على أزرار يمكن استخدامها لاختيار ألوان عناصر التحكم أو أقسام التقارير أو النماذج، ويظهر عند تصميم التقرير أو النموذج.
    وبعد هذه المقدمة البسيطة، لنتعرف معاً على طريقة إنشاء شريط أدوات لأي نظام أو قاعدة بيانات خاصة:
    أولاً: إنشاء شريط أدوات مخصص:

    1. من قائمة View اختر "أشرطة الأدوات Toolbars" ثم اختر "تخصيص Customize" كما توضح الصورة:



    2. عندما يظهر مربع حوار "تخصيص Customize" نشط تبويب "أشرطة الأدوات Toolbars" ثم انقر زر "جديدNew" ، سيعرض لك مربع حوار "شريط أدوات جديد New Toolbar" ثم اكتب اسم لشريط الأدوات خاصتك، كما توضح الصورة:


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

    ثانياً: إضافة الأزرار وحذفها:
    يمكنك الآن إضافة الأزرار أو حذفها أو نقلها من أي شريط موجود في Access أو من أي كائن إلى شريط الأدوات المخصص، اتيع الخطوات التالية:

    1. انقر تبويب "الأوامر Commands"، سيظهر لك مربعي "الفئات Categories" و" الأوامر Commands" كما توضح الصورة:

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

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



إنشاء شريط أدوات خاص بقاعدة البيانات (2)


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

  2. انقر شريط التمرير الخاص بالفئات Categories إلى الاسفل حتى تظهر لك "كافة الجداول All Tables"، "كافة النماذج All Forms"، "كافة التقارير All Reports" .... ألخ، كما توضح الصورة التالية:



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

رابعاً: تغيير صورة أو واجهة الزر:
بعد إضافة الأزرار المناطة بعمل مخصص (فتح فورم مثلاً) تلاحظ ان الـAccess يختار لها جميعاً شكلاً واحداً هو: ، سواء كانت جدول او نموذج أو تقرير أو استعلام .... ألخ، لتغيير هذه الصورة أو حتى لكتابة التلميحة التي تظهر عند وضع الفأرة فوقه اتبع التالي:
  1. اختر الزر الذي تريد تغيير صورته في شريط الأدوات المخصص ثم انقر زر "تعديل التحديد Modify Selection"، تظهر قائمة يمكنك من خلالها تغيير (خصائص، شكل، نمط، واسم) الزر. ستجد أن هناك علامة "صح" أمام خيار "نص وصورة Text & Image".

  2. وجه المؤشر إلى الاختيار "تغيير شكل الزر Change Button Image" في القائمة المختصرة، اختر الصورة التي تروق لك، انظر الصورة التالية:


  3. إذا أردت ظهور نص فقط بدون صورة، اختر خيار "نص فقط Text Only"، أما إذا أردت ظهور الشكل وحدة دون نص، اختر خيار "الشكل الافتراضي Default Style".
  4. كرر الخطوات السابقة لكل زر على شريط الأدوات. ثم اضغط زر Close.
  5. أصبح شريط أدواتنا بشكله الجديد:



خامساً: إضافة قوائم إلى شريط الأدوات:
شريط القوائم هو شريط يحوي مجموعة من الأوامر التي تحددها، ومن الممكن أن يحتوي على قوائم داخلية أعمق، ويمكنك كذلك إظهاره مع نموذج واحد فقط أو مع جميع النماذج.
لإنشاء شريط للقوائم في شريط أدواتنا السابق اتبع التالي:
  1. نشط تبويب Commands، ستجد ضمن الفئات Categories فئة تسمى "قائمة جديدة New Menu"، اضغط عليها.

  2. ستظهر لك في مربع Commands قائمة جديدة New Menu اسحبها واسقطها على شريط أدواتنا كما توضح الصورة:


  3. قم بالضغط على New Menu بالزر الأيمن للفأرة بعد أن أدرجتها إلى شريط أدواتنا، ستظهر لك قائمة مختصرة، اختر منها "خصائص Properties".

  4. يظهر لك مربع الخصائص، والذي من خلاله يمكنك تغيير اسم القائمة إلى أي اسم، ليكن مثلاً: All Forms كما توضح الصورة التالية:



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


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




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

إنشاء شريط أدوات خاص بقاعدة البيانات (3)

بسم الله الرحمن الرحيم
بعد أن تعرفنا على كيفية صنع toolbar خاص بقاعدة بياناتنا، يتبقى أن نتعرف على كيفية إظهار هذا الـtoolbar في قاعدة بياناتنا، وهي طريقة تتطلب منّا بعض البرمجة سواء باستخدام ماكرو أو بكتابة أسطر بسيطة كأوامر VBA، وتحديد الطريقة الأكثر مناسبة للاستخدام في قاعدة بياناتك يعتمد على عدد الـtoolbars التي صممتها لقاعدة بياناتك.
إظهار أشرطة الأدوات أو إخفاءها:
إن كنت قد صممت toolbar واحد للقاعدة ككل، وتريده أن يظهر على الشاشة دوماً وأنت تعمل علىقاعدة بياناتك، فإن الطريقة المثلى هنا هي استخدام إجراء ShowToolbar تضيفه إلى الماكرو Autoexec، حيث أن هذا الإجراء له الوسائط الموضحة في الصورة التالية:
في خانة Toolbar Name تحدد اسم شريط أدوات قاعدة بياناتك من قائمة منسدلة تظهر لك عند وضع المؤشر على هذه الخانة، وتحتوي هذه القائمة جميع أشرطة أدوات برنامج Access بالإضافة إلى أشرطة الأدوات التي قمت بتصميمها.
وفي خانة Show تحدد ما إذا كنت تريد إظهار شريط الأدوات أم لا، أو تريد إظهاره عند الحاجة فقط!

مثلاً، في قاعدة بياناتي، صممت شريط أدوات باسم Orphan، أريده أن يظهر عند فتح قاعدة البيانات وحده، بدون ظهور شريط أدوات database ولا شريط أدوات form view ولا أيضاً شريط أدوات التنسيق formatting، كل ما علي هو تكرار إجراء ShowToolbar في ماكرو Autoexec وتحديد الوسائط المناسبة له في كل مرة، كما توضح الصورة:
هذا بالنسبة لاستخدام الماكرو في إظهار شريط الأدوات.
أما إذا كنت صممت أكثر من شريط أدوات تريد أن تستخدم في قاعدة بياناتك، كل شريط يظهر مع نموذج معين، ويختفي عند إغلاق هذا النموذج مثلاً، فهنا من الأفضل لك استخدام أوامر VBA لإظهار وإخفاء أشرطة أدواتك، كل ما عليك هو إضافة الأمر التالي إلى الحدث الذي تريده (من مجموعة الأحداث الموجودة في خصائص النموذج):
DoCmd.ShowToolbar "Toolbar Name", acToolbar
حيث أن acToolbar من الممكن أن تكون:
  • acToolbarYes
  • acToolbarWhereApprop
  • acToolbarNo
فمثلاً، لإظهار شريط الأدوات مع فتح النموذج، اختر من خصائص النموذج "On Open" ثم اكتب الأمر التالي:
وبالمثل، إذا أردت إخفاء شريط الأدوات عند إغلاق النموذج، اختر من خصائص النموذج "On Close" ثم اكتب الأمر التالي:
هكذا نكون تعلمنا كيفية التحكم بإظهار أشرطة الأدوات أو إخفاءها في قاعدة بياناتنا.
والسلام عليكم




  • #20
    عضو مجتهد الصورة الرمزية (..المحارب..)
    تاريخ التسجيل
    Aug 2006
    المشاركات
    337
    علم الدولة : Users Country Flag

     الجنس :

    معدل تقييم المستوى
    12

    افتراضي

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

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

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

    1) بعد أن تقوم بفتح برنامج الأكسيس..قم بفتح قاعدة البيانات التي تريد حمايتها من فتح open في قائمة ملفFile:

    وليس من قائمة المهام task pane التي تظهر في أول البرنامج إذا كنت تعمل على أوفيس 200/2002؛ لماذا؟؟

    2) ذلك لأننا إذا أردنا إنشاء كلمة المرور لتأمين قاعدة البيانات يجب أن نقوم أولا فتحها بحيث تكون حصرية exclusive للذين يعرفوا كلمة المرور بعدما تختار قائمة البيانات اختر من خيارات الزر open الخيار open exclusive:

    3) من قائمة Tools إختر security ومن ثم set database password:

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

    • يجب أن تتذكر كلمة المرور التي ستختارها..لأنه في حال فقدانها لن تتمكن من فتح قاعدة البيانات أبداً.
    • كلمة المرور قد تتراوح مابين 1 إلى 20 حرف/علامة أو رقم مع بعض الإستثناءات مثل (" [ ] : | < > + = ; , . ? *) والفراغات وحروف الأسكي من ASCII10 إلى ASCII30.
    • كذلك إدخال كلمة المرور حساس لحالة الأحرف إن كانت capital or small.
    و في حال أردت تغيير كلمة المرور أو حتى إلغائها بإمكنك فعل ذلك ببساطة باتباع الخطوتين التاليتين:
    5) من قائمة Tools اختر security ثم unset database password التي ستكون قد حلت مكان الخيار الذي اخترتة سابقا (set database password):
    6) ستظهر لك نافذة مشابهة للنافذة السابقة لإدخال كلمة المرور مرة أخرى ..قم بإدخالها ثم اضغط على ok:
    عرفت الآن كيف تحمي قاعدة بياناتك بكلمة مرور وكيف تلغي هذة الحماية أو تغير كلمة المرور..

    لكن هنالك بعض الصلاحيات التي قد تود عدم إعطائها للمستخدمين مثل بعض أشرطة الأدوات أو أنك لاتريد لهم الوصول لقاعدة البيانات نفسها لذلك قم بإلغاء هذة الصلاحيات بالشكل التالي:
    1) إختر من نافذة Tools الخيار startup:

    2) قم بإزالة كل علامات الصح من امام خيارات القوائم ويمكنك ابقاء الخيارات التي تريد حسب الصلاحيات التي تريد اعطائها للمستخدم:
    الآن قم بإغلاق قاعدة البيانات وأعد فتحها..سيطلب منك البرنامج إدخال كلمة المرور قبل فتح القاعدة:
    وإن كنت قد منعت المستخدم من صلاحيات start up التي لاتسمح بالوصول لقاعدة البيانات نفسها سيفتح لك النوافذ(الـForms)التي تختص بالتعامل مع المستخدم فقط...دون عرض قاعدة البيانات ومحتوياتها.
    والسلام عليكم

    حماية قاعدة بياناتك من عبث العابثين

    بسم الله الرحمن الرحيم
    كيف تحمي قاعدة بياناتك من عبث العابثين وتمنعهم من الوصول إلى Database Window (تشفير قاعدة البيانات)
    وكيفية كسر هذا التشفير!

    بعد أن تعلمنا كيف نحمي قاعدة بياناتنا بكلمة سر في الدرس السابق، سنتعلم اليوم إن شاء الله كيف نشفر قاعدة بياناتنا ونمنع مستخدمي النظام من العبث بها سواء بإضافة بعض الكائنات (جدول، نموذج، تقرير .... ألخ) إلى القاعدة أو حذفها منها أو حتى التعديل عليها! أي أننا نريد لقائمة كائنات الآكسس التي تظهر مع كل قاعدة بيانات عند فتحها، كما توضح الصورة:
    أن تختفي ولا تظهر للمستخدم، وتظهر له فقط واجهة المبرنامج، كما توضح هذه الصورة:
    لكننا سنراعي هنا أن صلاحية التحكم بقاعدة البيانات سوف نعطيها فقط للمبرمج أو لمدير النظام ونجعل الوصول إليها مرهون بكلمة سر
    -=-=-=-=-=-=-
    في البداية قم بفتح قاعدة بياناتك open exclusive كما تعلمت في الدرس السالف الذكر، ثم من قائمة tools اختر startup ثم قم بإزالة علامات الصح من أمام جميع الـCheck box أو حسب ما تريد، ولكن احرص على إزالة علامة الصح من أمام خيار Display Database Window، كما توضح الصورة:

    ثم اضغط ok. هكذا ضمنا عدم وصول المستخدم إلى نافذة التحكم بالنظام Database window!
    والآن سنتعلم معاً كيف نضع خاصية الوصول لنافذة التحكم بقاعدة بياناتنا برقم سريّ basswood لايعرفه سوى المبرمج والمدير فقط، ولنفرض أنه 7333 مثلاً!

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

    وعند الضغط على زر الأمر " التحكــــــم" ، سيظهر لنا مربع حوار التحقق من الصلاحيات التالي:

    فإن أدخل المستخدم رقماً سريّاً خاطئاً، تظهر له رسالة التنبيه التالية:

    أما إذا أدخلنا الرقم السري الصحيح "7333" تظهر لنا الرسالة التالية لمدة 3 ثواني ( Control Form):

    ثم تفتح له الـ Database window على تبويب tables وعلى أول جدول في قائمة الجداول:

    والسؤال الآن: كيف سنمثل هذا السيناريو بهذا الشكل كاملاً؟!
    اتبع الخطوات التالية من فضلك:
    1- من خصائص زر الأمر " التحكـــــم" اختر حدث on click واختر نوعه event procedure وأكتب الأسطر التالية في محرر أكواد VBA:
    ملاحظة: لتتعرف على كيفية القيام بهذه الخطوة يستلزمك قراءة هذا الدرس.
    2- قم بإنشاء نموذج جديد لعرض الرسالة التحذيرية (لا يصل إلى هذه الصلاحيات سوى الأشخاص......... ألخ)، بأي رسالة تريد، وبأي شكل كان، واجعل اسمه Control، ثم اجعل خصائص النموذج كما توضح الصورة:
    واكتب الـProcedure التالي بعد أن تفتح نافذة VBA:

    في هذا الإجراء، استخدمنا أمر SelectObject وهو الأمر الذي يوصلنا إلى التحكم بـ database window، نلاحظ أننا حددنا فيه أن يكون التبويب الذي تفتح فيه نافذة database window هو تبويب الجداول بالأمر acTable، ثم حددنا له أن يجعل التركيز على أول جدول في تبويب الجداول، وهو جدول Area الذي خزنّا قيمته في المتغير strDocName الذي عرفناه كـstring، ثم سمحنا له بإظهار النافذة: True.
    إذن الأمر الذي مكّننا من الوصول إلى التحكم بقاعدة بياناتنا كاملاً هو:
    DoCmd.SelectObject acTable, strDocName, True
    كل ما عليك هو تغيير قيمة المتغير strDocName إلى اسم أول جدول في قائمة جداول قاعدة بياناتك، وتطبق المثال مباشرة وبالطريقة التي تريد
    من الممكن إضافة تطويرات كثيرة جداً سواء على الأكواد أو حتى على شكل النماذج، ولكني حرصت على البساطة قدر المستطاع في شرح الطريقة وطرح هذا المثال.

    أتمنى أن تكون استفدت من الشرح أيها القارئ الكريم .. والله وليّ التوفيق


  •  

     
    صفحة 1 من 3 123 الأخيرةالأخيرة

    معلومات الموضوع

    الأعضاء الذين يشاهدون هذا الموضوع

    الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

    المفضلات

    المفضلات

    ضوابط المشاركة

    • لا تستطيع إضافة مواضيع جديدة
    • لا تستطيع الرد على المواضيع
    • لا تستطيع إرفاق ملفات
    • لا تستطيع تعديل مشاركاتك
    •  

    Powered by vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.



    حماية المنتدى من اكساء هوست