• 0
xkxkx

من هنا..كود إعادة ربط الجداول بملف الواجهات تلقائياً

سؤال

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

اخواني وأعزائي مشرفي وأعضاء ومتصفحي هذا المنتدى العظيم

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

بعد الشكر لكل من ساهم في نجاح واثراء هذا المنتد.. يسرني أن اتشرف بالمشاركة بهذا الموضوع:

عند الانتهاء من تصميم نظام يستحسن أن يتم فصل النماذج والاستعلامات والتقارير عن الجداول وذلك عن طريق تكوين ملفين، ملف للواجهات وملف آخر للبيانات والربط بينهما عن طريق الجداول المرتبطة كما هو معروف لديكم.

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

إلا أني وجدت هذا المثال الأجنبي الذي أدى الغرض على الوجه المطلوب، ولا أتذكر من أي منتدى حصلت عليها!!

أرجو أن يفيدكم

اعادة ربط البيانات برمجيا.rar

تم تعديل بواسطه عبيدالله
5

شارك هذا الرد


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

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

  • 0

جزاك الله خيرا

هل تسدي لنا خدمة بتحويل الملف لصيغة اوفس 2003 ومن ثم رفعه للمنتدى بارك الله فيك

0

شارك هذا الرد


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

على الرحب والسعة أخي (hema212006)

وآسف على الخطأ في المرفق الأول

وإليكم المرفق المعدل

رجاء قبول اعتذاري الشديد

مجلد النظام.rar

2

شارك هذا الرد


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

جزاك الله خيرا اخى الكريم

و لكن ما رأيك ان نبسط الامور أكثر من ذلك بكود بسيط

يمكنك وضع هذا الكود فى حدث عند الفتح للنموذج حتى لا تشعر بالمسألة أصلا

او وضعه فى كود الزر

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=" & CurrentProject.path & "\data\data1.mdb"
tdf.RefreshLink
tdf.Connect = ";DATABASE=" & CurrentProject.path & "\data\data2.mdb"
tdf.RefreshLink
End If
Next

4

شارك هذا الرد


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

ـــ

صدق المثل

ضربة من معلم ولا عشر من متعلم

كود ممتاز اخي mrnooo2000 لربط كافة الجداول جملة واحدة

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

ومع هذا فهي لا زالت (عشر ضربات من متعلم) إلا أن يكون لك استاذنا ضربة واحدة أخرى تؤدي نفس الغرض فتفيدنا بها بارك الله فيك

/

0

شارك هذا الرد


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

اشكرك اخى

كلنا نتعلم معا

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

لا يوجد مشكلة فى ذلك

0

شارك هذا الرد


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

بارك الله فيـــــ وجزاك الله عنا كل خيرــــــك

0

شارك هذا الرد


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

بارك الله فيكم

0

شارك هذا الرد


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

الشكر موصول لاستاذنا mrnooo2000

وكل من مر على هذا الموضوع واستفاد منه

برجاء الدعاء للجميع

0

شارك هذا الرد


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

ما شاء الله على هذه الابداع منكما اخوني

بجد ...عمل رائع وكل يوم نتعمل منكم الجديد

0

شارك هذا الرد


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

السلام عليكم يا سادة يا كرام

 

من شهرين وانا ابحث على مثل هذا الموضوع لكن لإعادة ربط جداول اكسس 2010 و لم اجد غايتي

 

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

0

شارك هذا الرد


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

كم انت كبير يا عبيد الله

 

 

جزاك الله عني كل خير و زاد في علمك و أجرك

 

و الله تعبت من البحث عن هذا الموضوع وتم الامر بفل الله ثم فضلك 

 

لك كل التقدير والاحترام

0

شارك هذا الرد


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

لكن هذا الامر لا ينجح اذا كانت الواجهات على جهاز ما على الشبكة

 

و الجداوال في السيرفر مثلا 

 

لأن الكود السابق يجعل البرنامج يبحث ضمن مجلد محدد له مسبقا أو في في المجلد الاساسي الموجودة فيه الواجهات

وكما نعلم انه عند تنصيب البرنامج يقوم أكسس بوضع الواجهات في مجلد APPDATA وهو مجلد مخفي داخل محرك الاقراص C

ويضع له اختصار على سطح المكتب

اما الجداول قد نضعها على E: مثلاً لتجنب ضياع الداتا في حال الفورمات أو ما شابه

 

هل كلامي صحيح؟؟؟

تم تعديل بواسطه Eng.Samer jaafar
0

شارك هذا الرد


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

أولا : الكبير هو الله

 

بالنسبة لطلبك

 

انا استخدم هذا النموذج احد البرامج الخاصة بي

 

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

 

اعدادات ربط قاعدة البيانات.rar

تم تعديل بواسطه عبيدالله
1

شارك هذا الرد


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

أولاً : الله أكبر، وكم انت كبير يا عبيد الله ( كم : حاشاه تعالى من تحديده في الكم والكيف والأين

 

ثانياً : لك الشكر والتقدير.

تم الامر 

0

شارك هذا الرد


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

وضع هذا الموضوع منذ ثلاث سنوات وها أنا استخدمه الآن لاتعلم منكم... جزاكم الله خير الجزاء

0

شارك هذا الرد


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

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

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



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

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

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