الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إعادة الإتصال بالجداول المرتبطة برمجيا

بدأه Kuwait10 في 30 يونيو 2008 · 28 رد · 3,226 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لعل من أهم المعضلات التي تواجه مطوري الـ Access هي كيفية إدارة الجداول المتربطة

في قاعدة بيانات Access مقسمة إلى قسمين (Front-End & Back-End).

وخلال بحثي في المنتدى لم أتوصل لموضوع يشرح طريقة إعادة الإتصال بالجداول المرتبطة برمجيا،

لقواعد البيانات المقسمة (ربما بحثي لم يكن دقيقا بما فيه الكفاية).

لذلك إرتأيت طرح هذا الموضوع، وأهدي هذا الجهد إلى المشرفين والزملاء وزوار هذا القسم،

خصوصا للأخ العزيز hema212006 الذي سبق وسأل عن هذا الموضوع،

ولم أتمكن من إجابته حق الإجابة حينها.

فيما يلي شرح طريقة إعادة الإتصال بالجداول المرتبطة برمجيا،

والذي إستلزم مني وقت طويل لتجميع وتنقيح وتعريب الوظائف المطلوبة من أكثر من مصدر،

ومن أكثر من مطور، مع طريقة تشغيلها تلقائيا عند تشغيل قاعدة البيانات.

post-70844-1214820818.jpg

post-70844-1214820827.jpg

يحتوي المثال المرفق على عدد (2) ملف قاعدة بيانات Access.

الملف الأول: LinkedTables، وهو ملف الـ Front-End الذي يحتوي على النماذج والتقارير.

الملف الثاني: LinkedTables_be_1، وهو ملف الـ Back-End، الذي يحتوي على الجداول.

الآن تكون الخطوات كالتالي:

1- قم باستيراد الوحدات النمطية من الملف الأول (basfRefreshLinks - basGetOpenFil) لقاعدة البيانات الخاصة بك.

2- قم باستيراد الماكرو (AutoExec) لقاعدة البيانات الخاصة بك.

وهذا كل شيء. :)

هذا هو المثال المرفق، يمكنكم بعد تحميله تجربة الـ Code مباشرة!

Kuwait10LinkedTables.rar

أي سؤال؟

#2

تسلم وفقك الله اخي ماقصرت بجد هذي مهمه جدا جدا جزاك الله الف خير

#3

رسالة اعجاب ابرمجها

وبالموس والكيبورد اكتبها

وبمنتدى الفريق العربي ازينها

ول (bollbol) مخصوص ارسلها

لووووووووووووووووووووووووووووووووووووووووووووووول

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

مشكووووووووووووووووووووووووووور اخي على هذا المجهود

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#4

الأخ العزيز الباشق: الله يسلمك إن شاء الله وبارك الله فيك.

الأخ العزيز hema212006: ممنون لك جدا على هذا الإطراء الأخوي الصادق.

كما أتمنى أن تطلعنا على ملاحظاتك بعد تجربتك للـ Code،

حيث أنني أستخدم Access 2007، وبودي معرفة مدى فعالية الـ Code،

في العمل مع الإصدارات الأسبق.

#5

يوجد مشكلة بالكود بانه يقوم بطلب الاتصال في كل مرة تفتح فيها البرنامج

بالرغم من تحديد المسار له

تم تعديل هذه المشاركة بواسطة hema212006 في 1 يوليو 2008 في 17:03

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#6

يوجد مشكلة بالكود بانه يقوم بطلب الاتصال في كل مرة تفتح فيها البرنامج

بالرغم من تحديد المسار له

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#7
اقتباس
يوجد مشكلة بالكود بانه يقوم بطلب الاتصال في كل مرة تفتح فيها البرنامج

بالفعل عزيزي المشكلة موجودة،

أمهلني بعض الوقت لحلها، والسموحة.

#8
اقتباس
ول (bollbol) مخصوص ارسلها

اقصد Kuwait10

اقتضى التنويه

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#9

نحن بانتظارك Kuwait10

:clapping:

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#10

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

اتق الله حيث ماكنت

#11

بس ما يكون انسيتنا Kuwait10

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#12

هل يستطيع احد تعديل هذا الكود؟

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#13
اقتباس
يوجد مشكلة بالكود بانه يقوم بطلب الاتصال في كل مرة تفتح فيها البرنامج

بالرغم من تحديد المسار له

بحثت كثيرا عن الخطأ المشار إليه في المواقع الأجنبية،

ولكن ما من فائدة تذكر.

مثال على أحد المواقع:

http://bytes.com/forum/thread593649.html

الحل ليس بالسهولة التي نرجوها،

وما زال البحث عنه جاريا.

#14

بارك الله فيك اخي Kuwait10 وما قصرت

واعملت اللي عليك

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#15

السلام عليكم الاخوه الفاضل الرجاء الاطلاع على الملف المرفق ربما يكون فيه حل المشكله

fixLinkedTables.rar

يا عيالي كلكم .... افطنوا في حالكم

التنازع ذلكم .... والتصافي منفعه

المحتاج امشوا بحقه .... لو بدت منه المشقه

وانكثر بالقلب دقه .... طوبيتك واشعله

#16

شكرا على مرورك اخي human73

ولكن مازالت نفس المشكلة قائمة في كل مرة يطلب اعادة الاتصال

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#17

يرجى حذف هذه المشاركة.

تم تعديل هذه المشاركة بواسطة Kuwait10 في 19 يوليو 2008 في 02:33

#18

جهد ممتاز أخي Human، ولكنه يؤدي إلى حدوث Bugs،

فعند إعادة الربط من جديد تظهر رسالة "تعذر العثورعلى الملف.."،

ولا يظهر نموذج البداية،

فيتحتم إعادة تشغيل قاعدة البيانات.

عموما الحل الذي قمت بارفاقه عزيزي Human،

كنت قد كتبته بمشاركة سابقة في موضوع مشابه،

الرابط:

/index.php?showtopic=164069

النتيجة التي وصلت لها:

قمت دمج هذه الحلول،

وأبشركم خيرا بأن المشكلة إنتهت،

وأصبح لدينا Code صحيح وفعال.

خطوات الحل:

- حذف الماكرو (AutoExec) لإنتفاء الحاجة إليه، والإحتفاظ بالوحدات النمطية التالية (basfRefreshLinks - basGetOpenFil).

- أضافة هذا الـ Code في نموذج البداية:

Private Sub Form_Error(DataErr As Integer, Response As Integer)
	Call fRefreshLinks
	Response = -1
	MsgBox "يجب إعادة تشغيل قاعدة البيانات.", vbExclamation, "منتديات الفريق العربي للبرمجة"
	DoCmd.Quit
End Sub

وهذا كل شيء!

تلميح:

Response = -1 = يضمن عدم ظهور رسالة الـ Access المزعجة "تعذر العثورعلى الملف..".

DoCmd.Quit = إغلاق قاعدة البيانات بعد الربط، حتى يظهر نموذج البداية عند تشغيل قاعدة البيانات من جديد.

أخي Human أشكرك شكرا جزيلا، فلولاك لما وصلنا لهذه النتيجة الطيبة.

أخي hema212006 أشكرك شكرا جزيلا، فسؤالك علمني الكثير،

وأنا بانتظار جوابك على أحر من جمر.

تفضلوا الملف بعد التعديل:

fLinkedTablesLast.zip

والحمدالله إذ وصلنا لهذه النتيجة الطيبة والمرضية.

#19

كويت 10 بالتوفيج و عساه يكون بميزان اعمالك والله يوفقك

يا عيالي كلكم .... افطنوا في حالكم

التنازع ذلكم .... والتصافي منفعه

المحتاج امشوا بحقه .... لو بدت منه المشقه

وانكثر بالقلب دقه .... طوبيتك واشعله

#20

تمت الاجابة بجدارة وابداع وبجهود وايدي عربية 100%

بس عندي ملاحظة:-

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

post-116543-1216482606_thumb.jpg

فما عليك الا تحديد مصدر لهذا النموذج اين كان وستعمل الطريقة 100%

:lol:

شكرا على مرورك اخي human73

وكل الشكر للمبدع Kuwait10 وتستحق ان تكون عضو شرف بجدارة

تم تعديل هذه المشاركة بواسطة hema212006 في 19 يوليو 2008 في 23:16

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#21

بارك الله بك اخي الكريم : كويتي

على هذا الجهد الرائع والمميز

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

#22

السلام عليكم

أكرمك الله وأحييك على هذا المجهود الكبير

Call fRefreshLinks

ملاحظة: هنا تم وضع استدعاء الوظيفة فى حدث عند الخطأ وليس هذا هو الخطأ الوحيد الذى يحدث

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

المثال المرفق يوضح ذلك حاول تضيف صورة فى النموذج

testLink.rar

39224663we8.gif

#23

الأخ hema212006:

الشكر كله موصول لك على هذا الإطراء الرائع.

الأخت زهرة:

جزاك الله خيرا وأنا لا أستغني عن أفكاركم ولا عن خبراتكم،

ويسعدني تواصلك وإهتمامك.

الأخ مبروك:

ملاحظتك بمحلها وأنا أشكرك عليها،

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

من غير الإستفادة من آراء وتجارب وأفكار الآخرين،

Microsoft نفسها رغم جحافل المبرمجين الذين يعملون بها،

تطرح بين الفينة والفينة بعضا من برامجها،

ليقوم الناس من كل أرجاء العالم بتجربته مجانا،

لماذا؟ للسبب المذكور طبعا.

فما بالك بنا ونحن ما زلنا نحبو في هذا المجال. :)

شكرا لك فسؤالك هذا يعد مساهمة مفيدة في هذا الموضوع.

الحل الذي لدي يحل المشكلة بنسبة 90%،

وإليك الحل:

If Err.Number <= 0 Then
   'باقي الـ Code
	End If

طبق الحل على المثال الذي أرفقته، وستجد نتيجة طيبة إن شاء الله.

وهذا الملف بعد آخر تعديل. :)

ونتمنى أن نرى المزيد من الآراء والأفكار لنطور المشروع أكثر وأكثر.

fLinkedTablesLast.rar

تم تعديل هذه المشاركة بواسطة Kuwait10 في 22 يوليو 2008 في 07:52

#24

السلام عليكم ورحمة الله

للمرة الثانية أحييك أخى تحية طيبة

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

عموما أخى الكريم توصلت لفكرة بسيطة أرجو أن تكون مفيدة فى هذا الموضوع برجاء الاطلاع على المرفق

وابداء الرأى

testLink2.rar

تم تعديل هذه المشاركة بواسطة مبروك في 22 يوليو 2008 في 16:28

39224663we8.gif

#25

أخي مبروك...

وعليكم السلام ورحمة الله وبركاته ومغفرته،

والله يحييك، "بس تراك" أعدتنا للمربع الأول، :)

الفكرة التي وصلت إليها تم طرحها مسبقا في الموضوع السابق،

الرابط:

/index.php?showtopic=164069

ونحن كنا نريد حل برمجي كامل، وبفضل الله وفضلكم وصلنا إليه،

وإن كان يحتاج إلى المزيد من التطوير.

عموما شكرا لتعاونك وما تبديه من تفاعل بناء ومثمر.

وحتى لا يرتبك أي زائر لهذا الموضوع، فأنوه إلى أن الحل الأخير وليس الآخر لهذه المشكلة

موجود في المشاركة رقم 23.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…