• 0
solnaif

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

سؤال

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

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

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

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

لدي هذا الكود



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

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

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

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

تم تعديل بواسطه همام ابوعرقوب
تنسيق الكود
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

4 إجابة على هذا السؤال .

  • 0

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

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

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

تم تعديل بواسطه أحمد مبارك الحيقي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طريقة أخرى:

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

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

تم تعديل بواسطه أحمد مبارك الحيقي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

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



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .