tiger wanted قام بنشر الثلاثاء at 09:15 قام بنشر الثلاثاء at 09:15 قمت بعمل كود لاعادة ربط الجداول بسيكوال سيرفر ولكن هناك خطأ اليكم الكود Public Function relinksqltables() As Boolean On Error GoTo relinksqltablesErr Dim tdef As TableDef Dim constr As String Dim cnn As ADODB.Connection Dim strserver As String, strdb As String, struser As String, strpass As String constr = "drive={ODBC;DRIVER=ODBC Driver 17 for SQL Server;SERVER=WIN-9V6JHD626P3\SQLEXPRESS;id = administrator;PASSWOR= ;database=tarikbase;Trusted_Connection=yes;APP=SSMA;DATABASE=tarikbase;" DoCmd.SetWarnings False For Each tdef In db.TableDefs Debug.Print tdef.Name If InStr(tdef.Connect, "odbc") And Left(tdef.Name, 3) = "dbo" Then If tdef.Connect <> conster Then tdef.Connect = constr tdef.RefreshLink End If End If Next DoCmd.SetWarnings True Exit Function relinksqltablesErr: relinksqltables = False MsgBox "Error in relinksqltables: " & Err.Description End Function وهذه الصورة التى تظهر عند تشغيل النموذج
Foksh قام بنشر الثلاثاء at 11:00 قام بنشر الثلاثاء at 11:00 منذ ساعه, tiger wanted said: قمت بعمل كود لاعادة ربط الجداول بسيكوال سيرفر ولكن هناك خطأ باعتقادي انك لم تقم بتعريف قاعدة البيانات db .. Public Function relinksqltables() As Boolean On Error GoTo relinksqltablesErr Dim db As DAO.Database Dim tdef As TableDef Dim constr As String Dim cnn As ADODB.Connection Dim strserver As String, strdb As String, struser As String, strpass As String Set db = CurrentDb() constr = "drive={ODBC;DRIVER=ODBC Driver 17 for SQL Server;SERVER=WIN-9V6JHD626P3\SQLEXPRESS;id = administrator;PASSWOR= ;database=tarikbase;Trusted_Connection=yes;APP=SSMA;DATABASE=tarikbase;" DoCmd.SetWarnings False For Each tdef In db.TableDefs Debug.Print tdef.Name If InStr(tdef.Connect, "odbc") And Left(tdef.Name, 3) = "dbo" Then If tdef.Connect <> conster Then tdef.Connect = constr tdef.RefreshLink End If End If Next DoCmd.SetWarnings True Exit Function relinksqltablesErr: relinksqltables = False MsgBox "Error in relinksqltables: " & Err.Description End Function انظر لهذا السطر For Each tdef In db.TableDefs هنا قام الكود باستدعاء db ولكنك لم تقم بتعريفها في الكود الخاص بك
tiger wanted قام بنشر الثلاثاء at 11:58 الكاتب قام بنشر الثلاثاء at 11:58 من فضلك ارجو الايضاح فى انتظار الرد
Foksh قام بنشر الثلاثاء at 12:18 قام بنشر الثلاثاء at 12:18 18 دقائق مضت, tiger wanted said: من فضلك ارجو الايضاح فى انتظار الرد هل جربت الكود يا صديقي أولا ... الذي تم هو فقط تعريف المتغير db كما يلي Dim db As DAO.Database Set db = CurrentDb() لم اقم بتجربته ، ولكن هذا ما توضح لي ، وانت صاحب التجربة للعودة لنا بالنتيجة .
tiger wanted قام بنشر الثلاثاء at 17:10 الكاتب قام بنشر الثلاثاء at 17:10 قمت بالتجربة وهذا ما ظهر وحتى عندما اقوم باضافة جديدة واعمل اتصال تظهر نفس الشاشة
Foksh قام بنشر الثلاثاء at 22:40 قام بنشر الثلاثاء at 22:40 ليس لدي قاعدة بيانات لاعادة ربط الجداول بسيكوال سيرفر حتى أوافيك بتجربة ناجحة .. قد يكون للإخوة مساهمة في تحقيق هدفك .
AlwaZeeR قام بنشر بالامس في 10:50 قام بنشر بالامس في 10:50 حسب الصورة كود الاستاذ فوكش يعمل بشكل سليم فقط اختر التبويب الثاني يجب ان يكون اعداد الاتصال في السيرفر مسبقا كي يظهر بشكل صحيح 1
tiger wanted قام بنشر بالامس في 11:14 الكاتب قام بنشر بالامس في 11:14 تم الحصول على الكود ولكن يجب الاتصال اولا باستخدام sql driver 17 Sub nel_SQL() Dim db As DAO.Database Dim tdf As DAO.TableDef Set db = CurrentDb For Each tdf In db.TableDefs If tdf.Connect <> "" Then 'tdf.Connect = "PROVIDER=SQLOLEDB;SERVER=WIN-9V6JHD626P3\SQLEXPRESS;DATABASE=tarikbase2;UID=user1001;PWD=1@@1a" tdf.Connect = "ODBC;DRIVER=ODBC Driver 17 for SQL Server;SERVER=.\SQLEXPRESS;UID=user1001;PWD=1@@1a;Trusted_Connection=No;DATABASE=tarikbase2;" 'ODBC;DRIVER=ODBC Driver 17 for SQL Server;SERVER=.\SQLEXPRESS;UID=user1001;PWD=1@@1a;Trusted_Connection=No;DATABASE=tarikbase2; tdf.refreshlink End If Next tdf Set tdf = Nothing Set db = Nothing End Sub 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.