اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

عندي برنامج مرتبط بلينكات من جداول والجداول دي في d باسم data اوقات مكان الملف بغير مكانه او بغير اسمه وملهوش امتداد ماسح الامتداد بتاعه عايز لما افتح البرنامج وملقاش الملف يعمل تحديث لمكانه للارتباط به او يفتحلي ادخل له مكان الملف واسمه الجديد

قام بنشر

انشئ موديول (ModRelinkTables) . وضع به الكود التالي :-

Option Compare Database
Option Explicit

Public Function RelinkTables()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim strOldPath As String
    Dim strNewPath As String
    Dim fDialog As Office.FileDialog
    
    Set db = CurrentDb
    
    ' افحص أول جدول مرتبط لمعرفة المسار القديم
    For Each tdf In db.TableDefs
        If Len(tdf.Connect) > 0 Then
            strOldPath = Mid(tdf.Connect, InStr(tdf.Connect, "DATABASE=") + 9)
            Exit For
        End If
    Next
    
    ' لو الملف مش موجود
    If Dir(strOldPath) = "" Then
        MsgBox "الملف غير موجود، اختر مكانه الجديد."
        
        ' افتح مربع اختيار ملف
        Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
        With fDialog
            .Title = "اختر ملف قاعدة البيانات الجديدة"
            .AllowMultiSelect = False
            If .Show = -1 Then
                strNewPath = .SelectedItems(1)
            Else
                MsgBox "لم يتم اختيار ملف."
                Exit Function
            End If
        End With
        
        ' حدث روابط الجداول
        For Each tdf In db.TableDefs
            If Len(tdf.Connect) > 0 Then
                tdf.Connect = ";DATABASE=" & strNewPath
                tdf.RefreshLink
            End If
        Next
        
        MsgBox "تم تحديث الروابط بنجاح."
    End If
End Function

 

المكتبات المطلوبة:

  • Microsoft DAO 3.6 Object Library أو Microsoft Office xx.0 Access Database Engine Object Library (لتعريف DAO.Database و DAO.TableDef)

  • Microsoft Office xx.0 Object Library (لتعريف Office.FileDialog)

  • Microsoft Access xx.0 Object Library (مفعّل تلقائياً)

ملاحظات:

  • استخدم Option Explicit عشان يجبرك على تعريف كل المتغيرات، وده بيمنع أخطاء وقت التشغيل.

  • الكود بيستخدم DAO و Office بشكل صريح، فلو المكتبات مش مفعّلة هتظهر لك رسالة خطأ واضحة بدل ما يشتغل بشكل غير متوقع.

  • تقدر تستدعي الدالة RelinkTables في حدث On Load للنموذج الرئيسي أو في ماكرو AutoExec.

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

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

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information