الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]كيف احذف جدول برمجيا

بدأه tamer_kh_5251 في 28 يوليو 2009 · 6 رد · 1,506 مشاهدة · في قسم أرشيف الاكواد والمكتبات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا للجميع

هل هناك طريقة لحذف احد جداول البرنامج او كلها برمجيا

بناء علي شرط معين سواء بعد تاريخ معين او بعد عدد مرات تشغيل معينه

#2
drop [table name]

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 28 يوليو 2009 في 09:17

#3

اولا شكرا علي المشاركه

ثانيا يا ريت التوضيح في الاجابه

الكود غير صحيح او غير مكتمل

وشكرا لحضرتك مرة اخري

#4

شكرا اخي..tbazh على المشاركة.. وتعديل بسيط على مشاركتك..

يستخدم كود SQL في اكسس لحذف الجداول على شكل استعلام تماما كما يكتب اي جملة SQL تحديث او غيرها.. ولكن كما تفضلت تستخدم كلمة Drop..

مثال على ما تطلب اخي الكريم..

ولنفرض ان البرنامج مطلوب منه حذف جدول اذا كان خاليا من البيانات كل فترة محددة ..مثلا 6 أشهر..

هذا طبعا يتطلب انشاء متغير او عمل حقل من جدول معين ليخذ تاريخ اخر حذف ويقارنه مع الحذف الحالي.. وهذا مهم جدا

Dt = Dlast("*","[Dels]")
x=Dcount("*","[Table1]")
If x= 0  And DateDiff("m", Now, Dt) = 6
   Docmd.RunSQL "Drop Table Table1"
End If

وهنا,,السطر الاول ياتي باخر تاريخ الحذف

السطر الثاني يعد السجلات لمعرفة اذا كان الجدول فارغا

السطر الثالث يسال عن عدد السجلات "و" الفترة بين اليوم واخر عملية حذف بالاشهر "m"

السطر الرابع يحذف الجدول عند تحقيق الشرط

تحياتي

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#5

الله عليك أ/ همام

بارك الله فيك و زادك الله علما نافعا

تمااااااااااااااام

طيب اسمحلي بتكمله السؤال

الحل اللي حضرتك قولته فعلا تمام و اشتغل معايا

لكن ده في حالة اني عاوز احذف جدول واحد

طيب لو عاوز احذف جميع جداول البرنامج او احذف مجموعه من الجداول

هل يلزم اني اكرر اخر سطر بكل اسم جدول

ام هناك طريقة لحذف الجماعي للجداول كلها مره واحده

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

#6
اقتباس
طيب لو عاوز احذف جميع جداول البرنامج او احذف مجموعه من الجداول

هل يلزم اني اكرر اخر سطر بكل اسم جدول

ام هناك طريقة لحذف الجماعي للجداول كلها مره واحده

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

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

Function DeleteImportErrorTables ()
Dim db As DAO.Database, t As DAO.TableDef, i As Integer
   Set db = CurrentDB()
	  For i = db.tabledefs.count - 1 To 0 Step -1
		 Set t = db.tabledefs(i)
		 If t.name Like "Import Errors*" Then
			db.tabledefs.Delete t.name
		 End If
	  Next i
   db.Close
End Function

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

تحياتي

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 28 يوليو 2009 في 10:47

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

مواضيع مشابهة