العودة   منتدى رياض الجنة - Riad Al-Ganah > الرياض التقنية > روضة الكورسات والدورات التقنية والعلمية > روضة دورات Microsoft Office > روضة دورات Microsoft Access > دورة Microsoft Access 2003 من منتدى قريتي

دورة Microsoft Access 2003 من منتدى قريتي مقدم الدورة : أبو ربيع . حالة الدورة : انتهت . عدد الدروس : 12 درس

إضافة رد

 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 03-30-2010, 10:21 PM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الدرس الحادي عشر : الجزء الثالث - لغة تقنية الاستعلامات - تنفيذ العمليات - دورة Microsoft Access 2003


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

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


سنبعد في درسنا هذا عن tsqlمؤقتاً عن جو البحث وسنتحدث عن اضافة وحذف الجداول في قواعد البيانات .

سنبدأ أولاً بصيغة انشاء جدول
وهي بالشكل التالي :

كود PHP:
     CREATE TABLE TB colum typecolum type,........); 
TB : هو اسم الجدول المراد إنشاؤه في القاعدة .
colum : اسم الحقل المراد إنشاؤه في الجدول .
type : نوع بيانات الحقل .


ملاحظة /
عند تنفيذ الاستعلام أغلق شاشة الكود.. وإذا كان اسم الجدول المراد إنشاؤه موجود في خانة جداول
احذفه لأننا نستخدم أمر البناء (CREATE TABLE) وليس تعديل..


مثال على ذلك : لننشئ جدولاً تحت اسم tb1يحتوي على حقلين : الإسم Name من نوع ( نص - String ) والآخر العمر Age من نوع Number:

كود PHP:
     CREATE TABLE tb1 (name text,age number ); 

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

ولكن ماذا لو أردنا أن نحدد حجم حقل الاسم Name بست خانات فقط ... إذاً ضع عدد الخانات بين قوسين مع تعيين نوع بيانات الاسم مثل Text وذلك بالشكل التالي :

كود PHP:
     CREATE TABLE tb1 (name text(6),age number ); 


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

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

كود PHP:
     CREATE TABLE tb1 (name text(6Not Null,age number ); 


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

ماذا عن الحذف..؟
عندما نريد أن نحذف جدول نستخدم الأمر (DROP Table).. مثال لحذف الجدول السابق..

كود PHP:
     DROP Table tb1


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

كود PHP:
     DROP Table tb1 CASCADE


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

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

الصيغة العامة لإضافة الحقول :

كود PHP:
     ALTER TABLE tb1 ADD colum type 
فلنضف حقلين جديدين للجدول السابق : الأول هوتاريخ الميلاد ، والثاني النوع ( ذكر - أنثى ) .

كود PHP:
     ALTER TABLE tb1 ADD birth_Date date,Gender Text


اذهب الآن إلى الجدول tb1 وألق نظرة عليه.. ستجد أنه أضيف إليه حقلين هما (birth_Date - Gender)..
وهذا هو عمل الاستعلام السابق ولا تنسى خلف كل حقل نوع بياناته في الاستعلام..

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

كود PHP:
     ALTER TABLE tb1 DROP gender CASCADE


ارجع إلى الجدول tb1 وألق نظرة عليه.. ستجد أن الحقل Gender غير موجود (حذف)..

والآن سوف نتعلم اضافة السجلات ، وسوف نستخدم الجدول Rabiaكجدول لنجرب أوامرنا عليه ، والآن إلى الصيغة العامة لأمر الإضافة :

كود PHP:
     INSERT INTO table VALUES (v1v2,......); 
لاحظ أننا سنمرر القيم واحداً وراء الثاني وتفصل بينهم فاصلة عادية (،) مع مراعاة وضع النصوص بين علامتي تنصيص "" والتواريخ بين علامتي ## .
سنمرر القيم التالية : الرقم - الإسم الأول - الإسم الأخير - رقم الهاتف - العنوان - البريد الإلكتروني - الموقع - متزوج/لا - ملاحظات - العمر - المرحلة الدراسية .
وذلك بالشكل التالي :

كود PHP:
     Insert into Rabia values(8,'muzayd','morir',88888888,'Twaal','^_^@ho tmail.com','www.^_^.com',false,'X ملاحظاتك X',27,'الابتدائية'); 


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

قد يسأل أحدهم ويقول : كيف أضيفت تلك القيم إلى الحقول مع أننا لم نذكر اسم أي حقل ولم نحدده..؟؟
لا تخف فإن الدالة (Insert into) تقوم بإدخال المتغيرات - القيم - المعطاه لها على الترتيب..
ويجب أن تعرف ترتيب الحقول أنت.. وتضع القيم حسب الترتيب الموجود بالجدول..

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

1- لاحظ أن أي قيمة نصية وض
عناها بين علامتي تنصيص.. وهذا أمر ضروري
وركز أقول لك قيمة : أي كلمة أريد أن أضعها هي بعينها في الجدول.

2- لاحظ أن أي قيمة عددية لم نضعها بين علامتي تنصيص وهذا أمر ضروري في آكسيس..
أما لغات البرمجة إذا كانت القيمة عددية فالأمر لا يفرق سواء وضعت علامة التنصيص أم لم تضعها.
3- لاحظ في إحدى الخانات وضعنا فيها كلمة
false .. ما الذي تلاحظه في هذه الخانة..؟؟
إنها أحرف نصية لم نضعها بين علامتي تنصيص لماذا.. لأننا لا نريد أن نضع الكلمة نفسها كقيمة وإنما قصدنا بها أمر ونريد من البرنامج تنفيذه.. وهو أمر الخطأ - عدم الزواج - .


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

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


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

عدل قيمة الرقم (8) إلى (MyNumber) وقيمة الاسم (muzayd) إلى (MyName) ولا تنسى أن تزيل علامة التنصيص منها لأننا نقصد بها أمر وليس قيمة..
سيكون الكود هكذا :

كود PHP:
     INSERT INTO Rabia VALUES (MyNumberMyName'morir'88888888'Twaal''^_^@hotmail.com''www.^_^.com'false'X ملاحظاتك X'27'الابتدائية'); 


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


* ملاحظة :
إن هذا الجزء في الأكسيس سيقابله متغير في الفيجوال بيسك .. كذلك الامر بالنسبة للبحث .


هل تتذكر جملة البحث التالية :
كود PHP:
     
     SELECT 
FROM Rabia WHERE age 60



جرب أن تزيل القيمة 60 وضع متغيراً مثلاً MyAge بالشكل التالي :

كود PHP:
     SELECT FROM Rabia WHERE age MyAge


وهذا يعطيك تحكماً فيما ترغب في البحث عنه..


التعديل :


الصيغة العامة لتعديل بيانات سجل ما بالشكل التالي :

كود PHP:
     UPDATE table_name SET colum1 v1 colum2 v2 WHERE colum v


سنجرب الآن مثالاً لجعل العمر = 28والموقع = www.XXXX.com للشخص الذي اسمه الأول ( أبو ربيع ) والاخير ( آل خريف ) :

كود PHP:
     Update Rabia set age=28 site='www.XXXX.com' where fname='أبو ربيع' and lname='آل خريف'


ناظر الآن الجدول Rabia وستلاحظ أن البيانات المحددة تم تغييرها..

ولكن ماذا لو كان الأمر يشمل أكثر من سجل ؟ في الواقع هذا الأمر شائع ويشبهه المثال التالي :

كود PHP:
     Update Rabia set fname='ابو ربيع' where fname='أبو ربيع'


لاحظ أن الألف في الاسم الأول بدون همزة وفي الاسم الثاني بهمزة..

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

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

كود PHP:
     Update Rabia set age=age+5


نفذ الكود السابق وستلاحظ أن الأعمار زادت خمس سنوات..

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

ولكن ماذا عن الحذف
؟ في الواقع تتخذ جملة الحذف الصيغة العامة التالية :

كود PHP:
     DELETE FROM table WHERE colum value


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

كود PHP:
     Delete from Rabia where age >80


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

كود PHP:
     DELETE FROM Rabia


ولكن انتبه لا تحذف الجدول Rabia لأننا باقي بنشتغل عليه..









تم بحمد الله.. ونلتقي بالدرس القادم إن شاء الله..

تحياتي : أبو ربيع

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

المصدر


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس
إضافة رد


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس العاشر : الجزء الثاني - لغة تقنية الاستعلامات - استخدام المعاملات - دورة Microsoft Access 2003 khaledbelal دورة Microsoft Access 2003 من منتدى قريتي 0 03-30-2010 10:14 PM
الدرس التاسع : الجزء الأول - لغة تقنية الاستعلامات - نظرة عامة وتركيب الكود - دورة Microsoft Access 2003 khaledbelal دورة Microsoft Access 2003 من منتدى قريتي 0 03-30-2010 10:10 PM
الدرس السادس : العلاقات – الجزء الثاني : عملي - دورة Microsoft Access 2003 khaledbelal دورة Microsoft Access 2003 من منتدى قريتي 0 03-30-2010 10:05 PM
الدرس الخامس : العلاقات – الجزء الأول : نظري - دورة Microsoft Access 2003 khaledbelal دورة Microsoft Access 2003 من منتدى قريتي 0 03-30-2010 10:02 PM
الدرس الثالث : عمليات على قواعد البيانات Access - دورة Microsoft Access 2003 khaledbelal دورة Microsoft Access 2003 من منتدى قريتي 0 03-30-2010 09:59 PM

استضافة الحياة

الساعة الآن 12:41 AM.


Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية
Ads Management Version 3.0.1 by Saeed Al-Atwi

SlamDesignzslamDesignzEdited by Riad Al-Ganah Team - جميع الحقوق محفوظة لشبكة رياض الجنة

Privacy Policy Valid XHTML 1.0 Transitional By SlamDesignz Valid CSS Transitional By SlamDesignz