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

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

إضافة رد

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

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

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

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

فكرة سريعة عن الدرس : سنوضح كيفية
استخدام معامل المساواة والمعاملات الرياضية..
وسنأخذ معاملين من المعاملات المنطقية البسيطة And و Or وسنأخذ أيضاً
معاملين جدد سنشرحهم بإذن الله وهما Like و
Between .

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


كود PHP:
     Select From Table_Name Where Field Value

Table_Name : اسم الجدول .
Field : اسم الحقل المراد الاستفسار عن قيمه .
Value : القيمة المراد الاستفسار عنها .

ملاحظة / يمكننا استخدام المعاملات (> أو < أو => أو =< أو <>) بدلاً من المعامل (=) .

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

كود PHP:
     SELECT FROM Rabia WHERE age 60


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

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

سأذكرك.. هل نسيت العبارة التي ذكرناها في أول الدرس :
(تؤخذ صيغة استخدام المعاملات كشرط في عملية الإستعلام..)

مثال آخر : سيزيد الأمور توضيحاً وسيضيف لك الجديد..
مثال : لعرض أسماء من هم أصغر من 80 سنة
:

كود PHP:
     SELECT FName,LName FROM Rabia where age 80

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


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

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

(إذا كانت القيمة الموجودة في الكود عددية - Number - فليس من الضروري وضعها بين علامتي تنصيص.. أما إذا كانت القيمة الموجودة في الكود نصية - String - فإنه لابد من وضعها بين علامتي تنصيص) << هذا هو أحد قوانين البرمجة.. وتخرج عن هذا القانون بعض لغات البرمجة..

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


مثال :البحث عن بيانات الأشخاص الذين يحملون الاسم (أبو ربيع)..

كود PHP:
     SELECT FROM Rabia WHERE Fname 'أبو ربيع'

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

- أما عند البحث عن بيانات بتحقيق شرط التاريخ فيختلف الأمر..
وذلك لابد أن نضع اتاريخ بين علامتي (#).. في قاعدتنا لا يوجد تاريخ.. ولكن خذ المثال..
مثال : سنبحث عن البيانات التي لها تاريخ أكبر من التاريخ 12/03/2008


كود PHP:
     Select Form Rabia Where Date #12/03/2008#; 

أتمنى أن يكون المثال واضح..

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

مثال :
لاستخراج الإسم الأول والأخير من الجدول بالترتيب تنازلياً ودمجة سوياً تحت اسم Name والتي تحقق شرط أن العمر أكبر من 50
:

كود PHP:
     SELECT Fname " " Lname AS Name FROM Rabia WHERE age 50 ORDER BY FNAMELName DESC

وهكذا تستطيع تنفيذ أوامر أكثر ذكاء..

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

- لدينا نوعين من المعاملات المنطقية البسيطة الأكثر استخداماً :

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

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



إن شاء الله واضحة..

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

كود PHP:
     Select Fname from Rabia where age 50 and marry false


لنفترض أيضاً أننا نريد معرفة الأشخاص الذين تزيد أعمارهم عن 50 سنة وليس لديهم بريد الكتروني :

** قبل أن تجرب المثال قم بتشغيل قاعدة البيانات وقم بحذف البريد الإلكتروني لبعض الأشخاص ، واكتب للبعض كلمة No Mail وللآخرين No .

الآن انظر الأمر التالي :

كود PHP:
     SELECT FROM Rabia WHERE age>50 And (Email='No' or Email='No Mail'); 

هل رأيت كيف استخدمنا المعاملين And و Or مع بعض وفي أكثر من شرط..

سنفصل الآن هذه الجملة :
* الشرط الأول : Age > 50 : العمر أكبر من 50 .
* الشرط الثاني : Email = 'No' : البريد الإلكتروني لابد أن يحتوي على كلمة No .
* الشرط الثالث : Email = 'No Mail' : البريد الإلكتروني لابد أن يحتوي على كلمة No Mail .

واستخدمنا نوعين من المعاملات المنطقية And و Or .

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


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

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

كود PHP:
     Select From Table Where Field Like '*Name*'


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

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

كود PHP:
     SELECT FROM Rabia WHERE FName like '*بو*'

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

كود PHP:
     SELECT FROM Rabia WHERE FName like 'أ*'


ولو أردنا البحث عن الأشخاص الذين ينتهي اسمهم بحرف معين سنضع * في البداية دون النهاية
.

ملاحظة / في لغة
MS SQL Server نستخدم % بدلاً من
* .


مما سبق نستنتج أن (*) تعني أي عدد من الحروف ، ولكن ماذا لو أردنا تحديد عدد الحروف ؟

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

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

كود PHP:
     SELECT FROM Rabia WHERE FName like 'أ???'


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

بنفس تلك الطرق.. ولكن سأترك لك التفكير..



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

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

يأخذ البحث باستخدام between الصيغة التالية
:

كود PHP:
     SELECT colum FROM table WHERE field BETWEEN v1 AND v2


مثال : لاستخراج الأشخاص الذين تترواح أعمارهم بين 50 و 80:

كود PHP:
     SELECT FROM Rabia WHERE age between 50 and 80


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

مثال :لإستخراج بيانات الأشخاص الذين تقع أسماؤهم بين الاسمين ( أحمد و صالح )

كود PHP:
     SELECT FROM Rabia WHERE FName between 'أحمد' and 'صالح'

أتمنى أن يكون المثال واضحاً..








هذا والله تعالى أعلم..

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

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

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

المصدر


توقيع : khaledbelal



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

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


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

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

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس التاسع : الجزء الأول - لغة تقنية الاستعلامات - نظرة عامة وتركيب الكود - دورة 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
الدرس الثاني : إنشاء قاعدة بيانات بسيطة - دورة Microsoft Access 2003 khaledbelal دورة Microsoft Access 2003 من منتدى قريتي 0 03-30-2010 09:58 PM
الدرس الثاني : انشاء جدول في طريقة عرض التصميم+ وباستخدام المعالج + وبإدخال البيانات - دورة 2003 Microsoft Access khaledbelal دورة Microsoft Access 2003 من منتدى يابدوو 0 03-28-2010 06:33 PM

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

الساعة الآن 01:48 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