استعلامات الحذف Delete Queries
مقدمة:
يستخدم هذا النوع من الاستعلامات الاجرائية لحذف مجموعة من السجلات من جدول واحد أو أكثر.
على سبيل المثال، يمكنك استخدام استعلام حذف لإزالة سجلات الطلاب المتخرجين من جدول الطلاب.
مع ملاحظة أنه بواسطة استعلامات الحذف، يمكنك دائماً حذف سجلات بأكملها، وليس فقط حقول محددة داخل سجلات.
مع ملاحظة أنه بواسطة استعلامات الحذف، يمكنك دائماً حذف سجلات بأكملها، وليس فقط حقول محددة داخل سجلات.
~*~*~*~*~*~*~*~*~*~*~*~*~
مثال1:
أنشئ استعلام لحذف سجلات جميع الطلاب غير الخريجين من جدول الطلاب الخريجين واحفظ الاستعلام باسم
"استعلام حذف سجلات الغير خريجين"؟
أنشئ استعلام لحذف سجلات جميع الطلاب غير الخريجين من جدول الطلاب الخريجين واحفظ الاستعلام باسم
"استعلام حذف سجلات الغير خريجين"؟
في استعلامات الإلحاق يتم إلحاق سجلات الطلاب غير خريجين بجدول الطلاب الخريجين، والآن نريد حذفها باستخدام هذا النوع من الاستعلامات.
الحقل الذي يميز سجلات الطلاب الخريجين عن غير الخريجين هو "خريج؟"، حيث يأخذ القيمة -1 أو Yes مع الطلاب الخريجين، والقيمة 0 أو No مع غير الخريجين.
مع ملاحظة أنه في حال قمت بعد إظهار هذا الحقل عند إنشاء استعلام جدول الطلاب الخريجين وغير الخريجين، وقمت بتطبيق استعلام الإلحاق، فانك ستلاحظ أنه لا وجود لهذا الحقل في جدول الطلاب الخريجين، كما هو الحال معي الآن :)
كل ما عليك هو فتح "جدول الطلاب الخريجين" في عرض التصميم Design View ومن ثم إضافة هذا الحقل إلى الجدول كما بالصورة:
قم بحفظ التغيرات الحادثة في الجدول، ثم افتح الجدول في عرض ورقة البيانات Datasheet View ومن ثم قم بوضع علامة صح أمام سجلات الطلاب الخريجين ألا وهي السجلات الثلاث الأولى..
ثم قم بحفظ التغيرات الحادثة في الجدول، والآن سنبدأ بحل المثال :
الحل:
1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.
2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
وكما يتضح لك من السؤال أنك ستحتاج إلى جدول "جدول الطلاب الخريجين"، فقم بإضافته، ثم أغلق النافذة.
وسنشرح ما سنقوم به في هذه النافذة:
السطر الأول: حقل Field
يتم إسقاط الحقل الذي نود حذفه فيه.
السطر الثاني: جدول Table
اسم الجدول Table الذي يحتوي على هذا الحقل، ويتم كتابته تلقائيا بمجرد إسقاط أي حقل من جدول معين في الجزء العلوي من نافذة تحديد الاستعلام.
السطر الثالث: حذف Delete
وله خيارين :
From
Where
ويتم اختيار النوع المناسب منهما تلقائيا.
السطر الرابع: معايير Criteria
الشرط الذي يتم عند تحققه حذف السجلات التي تم تحديدها في الشبكة.
السطر الخامس: أو or
لكتابة أكثر من شرط أو معيار لنفس الحقل أو لعدة حقول يفصل بينهم العلاقة المنطقية OR.
الشرط الذي يتم عند تحققه حذف السجلات التي تم تحديدها في الشبكة.
السطر الخامس: أو or
لكتابة أكثر من شرط أو معيار لنفس الحقل أو لعدة حقول يفصل بينهم العلاقة المنطقية OR.
4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستقوم بحذفها في هذا الاستعلام.
ستحتاج لحذف جميع حقول الطلاب غير الخريجين، بالإضافة إلى أنك ستكتب الشرط الخاص بعملية الحذف تحت الحقل "خريج؟" فقط!
إذن قم بسحب هذه الحقول وإسقاطها واحدا تلو الآخر في الخلايا المحاذية للسطر "حقل" Field.
5- أنت تريد فقط حذف سجلات الطلاب غير الخريجين، والذين تم إلحاق سجلاتهم بسجلات الطلاب الخريجين في المثال الذي قمت بتطبيقه في درس استعلامات الإلحاق، ولذا لا بد من كتابة الشرط الذي عند تحققه يتم الحذف ألا وهو كون الطالب غير خريج، وبالتالي نكتب No تحت الحقل "خريج؟" وفي السطر المحاذي لمعايير Criteria. كما بالصورة:
والتي تفيد بأنك على وشك حذف صفين من الجدول الذي قمت باختياره (جدول الطلاب الخريجين).
عند النقر على نعم “Yes” فلن تستطيع استخدام خاصية التراجع Undo للتراجع عن التغيرات الحادثة في الجدول، فهل أنت متأكد من أنك تريد حذف السجلات المحددة؟
أجب بنعم :).
لقد قمت الآن بحذف سجلات الطلاب الغير خريجين من جدول الطلاب الخريجين :) .
8- من الجهة اليسرى قم باختيار جداول Tables ثم جدول الطلاب الخريجين، وستلاحظ بنفسك نتائج هذا الاستعلام:
هل كل شيء على ما يرام؟ أتمنى ذلك :)
~*~*~*~*~*~*~*~*~*~*~*~*~
سنتناول الآن مثالا لحذف سجلات جدول بأكمله:
مثال2:
أنشئ استعلام باسم "استعلام حذف جدول الطلاب غير الخريجين" يتم فيه حذف جميع سجلات الطلاب غير
الخريجين؟
الحل:
1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.
2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
وكما يتضح لك من السؤال أنك ستحتاج إلى جدول "جدول الطلاب غير الخريجين"، فقم بإضافته، ثم أغلق النافذة.
وكما يتضح لك من السؤال أنك ستحتاج إلى جدول "جدول الطلاب غير الخريجين"، فقم بإضافته، ثم أغلق النافذة.
4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستقوم بحذفها في هذا الاستعلام.
ستحتاج لحذف جميع حقول هذا الجدول بدون قيد أو شرط!
إذن قم بسحب هذه الحقول وإسقاطها واحدا تلو الآخر في الخلايا المحاذية للسطر "حقل" Field.
أو قم بالنقر مرتين على علامة * والتي تدل على إضافة جميع حقول هذا إلى الشبكية، كما بالصورة:
إذن قم بسحب هذه الحقول وإسقاطها واحدا تلو الآخر في الخلايا المحاذية للسطر "حقل" Field.
أو قم بالنقر مرتين على علامة * والتي تدل على إضافة جميع حقول هذا إلى الشبكية، كما بالصورة:
والتي بأنك على وشك حذف صفين (حيث أن هذا الجدول يحتوي على سجلين فقط) من الجدول الذي قمت باختياره (جدول الطلاب غير الخريجين).
عند النقر على نعم “Yes” فلن تستطيع استخدام خاصية التراجع Undo للتراجع عن التغيرات الحادثة في الجدول، فهل أنت متأكد من أنك تريد حذف السجلات المحددة؟
أجب بنعم :).
لقد قمت الآن بحذف جميع سجلات جدول الطلاب غير الخريجين :) .
8- من الجهة اليسرى قم باختيار جداول Tables ثم جدول الطلاب غير الخريجين، وسترى بنفسك أن الجدول خالي من جميع السجلات.
المصدر: سوالم للكمبيوتر
جزى الله خيرا كل من ساهم فيه