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

[ تمت الإجابة ]كيفية وضع كود للتأكد من جدول قبل حذفه

بدأه solnaif في 23 أغسطس 2009 · 4 رد · 897 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

صلي على النبي عليه أفضل الصلاة وأتم التسليم

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

إخوتي الأفاضل

لدي هذا الكود



DoCmd.DeleteObject acTable, "BOOK_INFO"

DoCmd.DeleteObject acTable, "LIB_INFO"

Dim wrkJet As Workspace
Dim AbA As Database
Set wrkJet = DBEngine.Workspaces(0)
Set AbA = wrkJet.OpenDatabase(Me.PathData, False, False, ";PWD=0120")
DoCmd.TransferDatabase acImport, "Microsoft Access", Me.PathData, acTable, "BOOK_INFO", "BOOK_INFO", False
DoCmd.TransferDatabase acImport, "Microsoft Access", Me.PathData, acTable, "LIB_INFO", "LIB_INFO", False

MsgBox "تم استيراد الجدول بنجاح ", vbOKOnly, "تنبيه"
DoCmd.SetWarnings True
AbA.Close
Set wrkJet = Nothing
Set AbA = Nothing
DoCmd.SetWarnings False

وهذا الكود كما تعلمون يقوم باستيراد جداول من قاعدة بيانات خارجية

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

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

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 24 أغسطس 2009 في 00:17 — السبب: تنسيق الكود

#2

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

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

SELECT Name FROM MSysObjects WHERE (Type = 1) AND (Name = 'tblTest')

يستعلم عن جدول tblTest، ويمكن استخدامه في الكود كالتالي مثلاً:

	Dim rs As DAO.Recordset
	Dim strSQL As String

	strSQL = "SELECT Name FROM MSysObjects WHERE (Type = 1) AND (Name = 'tblTest')"
	Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)
	If rs.EOF Then
		MsgBox "table exists...", vbExclamation, "wait, delete first"
	Else
		MsgBox "table doesn't exist...", vbInformation, "ok, import"
	End If
	rs.Close
	Set rs = Nothing

تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 23 أغسطس 2009 في 08:08

#3

طريقة أخرى:

On Error Resume Next
	Dim tbl As DAO.TableDef

	strTest = CurrentDb.TableDefs("tblTest")
	If Err = 3265 Then
		MsgBox "table doesn't exist...", vbInformation, "ok, import"
	Else
		MsgBox "table exists...", vbExclamation, "wait, delete first"
	End If

والله أعلم...

تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 23 أغسطس 2009 في 08:08

#4

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

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

صلوا على النبي عليه أفضل الصلاة وأتم التسليم

نشكركم على سرعة الرد وجعلها الله في ميزان حسناتكم

سأجرب وأرد عليكم

#5

للرفع والتعديل

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

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…