فكرة رائعة اخي الكريم ،،، واليك بعض الملاحظات حبذا لو يتم تطبيقها
الان بعد الربط غير السليم يخبرنا انه تم الربط بطريقة غير سليمة ويفتح البرنامج باخطاء!!!
ونحتاج بعد ذلك الى اعادة تسمية القاعدة التي تم ربطها بالخطأ! كي يطالبنا بمكان القاعدة الصحيحة. أليس كذلك؟؟؟
ما رأيك استاذنا الحبيب رمهان لو أن الكود عند الربط غير السليم يقوم بازالة مسار القاعدة الخطأ من جدول ( BackDBs ) والخروج من البرنامج تلقائيا
وعند الدخول مرة اخرى يطالبنا بمكان الداتا الصحيحة،،،
ليصبح هكذا:
Dim strSQL As String
If CurrentDb.OpenRecordset("SELECT MSysObjects.Name, MSysObjects.Type FROM MSysObjects AS MSysObjects_1 RIGHT JOIN [" & DLookup("DBPathANDName", "BackDBs", "found=true") & "].MSysObjects ON MSysObjects_1.ForeignName = MSysObjects.Name WHERE (((MSysObjects.Name) Not Like '*msys*') AND ((MSysObjects_1.ForeignName) Is Null) AND ((MSysObjects.Type)=1))").RecordCount <> 0 Then
MsgBox ("قاعدة البيانات التي تم ربطها بالبرنامج غير صحيحة، برجاء اختيار قاعدة اخرى")
strSQL = "Update BackDBs SET DBPathANDName = null"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
DoCmd.Quit
Else
End If
دمتم بود