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

مشكلة في الربط مع الجداول


hantantin
إذهب إلى أفضل إجابة Solved by علاء محمد علي,

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

السلام عليكم

لدي برنامج مقسوم الى جداول و برنامجي وعند االدخول الى برنامجي اجبر الزبون على الدخول عن طريق زر حيث يحتوي على كود يأخذ مسار الجداول تلقائيا بغض النظر عن مكان وجود البرنامج.لكن المشكلة عند وضع كلمة سر للجداول حينها لا يتم الربط بالمسار الجديد و يبقى مسار الجداول المحدد سابقا .ارجو الاطلاع على المرفقات و شكرا مقدما

ملاحظة:كلمة السر للجداول 123 و عند إلغاء كلمة المرور للجداول و فتح البرنامج مرة اخرى و الضغط على زر الدخول يتفعل المسار الجديد بدون مشاكل

zzzz.rar

رابط هذا التعليق
شارك

اولا مشكور اخ ازهر على مجهودك...ولكن طريقتك هي لفتح الجدول فقط و ادخال كلمة السر وليس لعمل ارتباط مباشر مع الجداول...اذا لاحظت في الكود الخاص ببرنامجي انا اعمل ارتباط مباشر مع الجدول لذلك يظهر المسار للجداول.لذلك اريد من الاخوة من يستطيع تعديل الكود حتى يتم الارتباط مع كلمة السر مباشرة

وجدت كود خاص بانشاء جدول عن طريق الربط من مكان اخر ...ولكن يجب ان لا يحتوي برنامجي على الجداول عند تشغيل الكود...يعني ممكن اول مرة يتم انشاء الجداول ولكن اذا دخلت مرة ثانية يظهر خطأ.

طلبي هو مساعدتي على دمج كود برنامجي بكلمة السر كما هو الحال بالكود بالاسفل.

طبعا الاكواد للامانةدمج من عدة اخوة واخوات من عدة منتديات

Option Compare Database

Public Function CreateTableLink(strBEPath, strSourceTableName, strPassword) As Boolean

Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim strConnect As String
Dim strLinkName As String

strLinkName = strSourceTableName

strConnect = "MS Access;PWD=" & strPassword & _
    ";DATABASE=" & strBEPath
Debug.Print strConnect
Set db = CurrentDb
Set tdf = db.CreateTableDef
tdf.Connect = strConnect
tdf.SourceTableName = strSourceTableName
tdf.Name = strLinkName
db.TableDefs.Append tdf

Set tdf = Nothing
Set db = Nothing

End Function
 

 


Private Sub Command0_Click()
Call CreateTableLink("C:\Users\lenovo\Desktop\ttt\11\55_be.accdb", "table", "123")

End Sub

 

45 دقائق مضت, ازهر عبد العزيز said:

 طبعا للامانة الاكواد للاساتذة المبدعين @jjafferr  ,  @ابو تراب

طبعا شكرا لجميع الاخوة و الاخوات لمساعدتهم 

رابط هذا التعليق
شارك

  • أفضل إجابة

معي هذه الطريقة التي تشترط وجود الجداول في نفس مجلد الواجهات

ضع هذه الوظيفة في موديول ثم قم باستدعائها في النموذج الافتتاحي في حدث عند التحميل

Public Function connect()
Dim dada
Dim wrkJet0 As Workspace
Dim dbs0 As DAO.Database
adad = CurrentProject.Path & "\DATA.accdb"
Set wrkJet0 = DBEngine.Workspaces(0)
Set dbs0 = wrkJet0.OpenDatabase(adad, False, False, ";PWD=" & "PASSWORD")
Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Set db = CurrentDb()
    For Each tdf In db.TableDefs
        If (tdf.Attributes And dbAttachedTable) = dbAttachedTable Then
         On Error Resume Next
            tdf.Connect = ";DATABASE=" & adad
            tdf.RefreshLink
        End If
    Next
End Function

 

عليك تغيير كلمة PASSWORD بكلمة السر الخاصة بقاعدة بيانات الجداول

ولاحظ تن قاعدة البيانات عندي اسمها Data.accdb. وعليك كتابة اسم قاعدة البيانات الخاصة بك بدلا منها

اتمنى ان تكون الطريقة مفيدة لك

اخوك علاء

 

  • Thanks 1
رابط هذا التعليق
شارك

13 ساعات مضت, hantantin said:

مشكور اخ علاء على الطريقة الناجحة... 

ملاحظة :يمكن دمج كودك مع الرابط في الكود الخاص ببرنامجي وبهالحالة يصبح الكود ممتاز 

انا سعيد جدا لأنك استفدت من الكود

تحياتي لك اخي العزيز

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information