اذهب الي المحتوي
أوفيسنا

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


sandanet

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

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

أما بعد،،

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

 

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

 

السؤال هو كيف يتم جعل قاعدة البيانات تسمح بالاتصال المتعدد في اي وقت وتجنب ظهور مثل تلك الرسالة؟

تحياتي

1.png

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

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

لديك قاعدة a  على السيرفر وبها الجداول .

لديك قاعدة b على نفس السيرفر بها النماذج ومربوطه مع a

لديك قاعدة c على جهاز اخر على الشبكة مربوطة مع a

هل المشكلة تحدث عندما تفتح b ؟ ام فقط عند فتح c ؟

وانت ذكرت 

6 ساعات مضت, sandanet said:

االمشكلة تحل في حالة تم إغلاق البرنامج من الجهاز الرئيسي 

لماذ تفتح القاعدة الجداول اصلا ؟

 

اخيرا : تاكد ان الوضع للقاعدة الرئيسية هو مشترك وليس حصري وذلك من خيارات اعدادات العميل متقدم 

بالتوفيق

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

أخي رمهان المشكلة تم حلها باستبدال البرنامج بنسخة باك اب .. لكن للتوضيح فقط فان  المشكلة حدثت عندي من قبل ايضاً وكانت كالتالي عندما تفتح b على نفس الجهاز الذي به a وفي نفس الوقت تفتح c من على جهاز اخر وهما الاثنتان مربوطتان بنفس قاعدة البيانات مع ان النماذج لدي ليست لها مصدر بيانات من اي جدول 

ارفقت لك صورة من الخيارات لدي في قاعدة الجداول فهل هي صحيحة مع التعليم على خيار shared فهل الخيارات صحيحة؟

1.png

5 ساعات مضت, رمهان said:

لماذ تفتح القاعدة الجداول اصلا ؟

البرنامج ذو واجهتين .. واجهة للمستخدم العادي  b حيث يقوم بتمرير بطاقته على بار كود فيسجل بياناته في جدول .. بينما الواجهة الاخرى للمدير c حيث يقوم باستخراج التقارير وما الى ذلك .. بمعنى ان الواجهتين ترتبطان بقاعدة الجداول نفسها a .. كما ان a و b  موجودتان على نفس الجهاز بينما c هي التي ترتبط بالقاعدة من خلال الشبكة وذلك لضمان الاتصال الآمن بين a و b

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

18 ساعات مضت, sandanet said:

طيب استاذ رمهان هل من كود برمجي استطيع وضعه في البرنامج لكي يقوم تلقائياً بجعل الخيار على shared ؟ 

دائما هو الخيار الافتراضي ولا داعي لتغييره . يدعو التغيرر اذا كان الرغبه في الفتح حصري

وللاجابة هذا احد الطرق لوضع الخيار على مشترك وهو الرقم 0 والوضع الحصري 1

Application.SetOption "Default Open Mode for Databases", 1

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

1. الخيار حصري للقاعدة الخلفية a  وتم ذكره سابقا

2. قد يكون احد الجداول مفتوح على وضع التصميم 

3. قد يكون الخيار حصري مضبوط بالقاعده b  فعندما تتصل b وهي بوضع حصري بالقاعده a  تاخذ الخيار ضمنيا القاعده a  . وينطبق على c

 

تستطيع قراء الخيار قبل تغييره ب getoption 

Application.getOption "Default Open Mode for Databases"

بالتوفيق

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

منذ ساعه, رمهان said:

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

1. الخيار حصري للقاعدة الخلفية a  وتم ذكره سابقا

نعم استاذي العزيز رمهان هذا ما وجدته  :blink: مع انني عند تثبيت الاوفيس على الجهاز قمت بوضع ديب فريز على الويندوز لكي لا يتم التلاعب باي من اعدادات الجهاز لكنه يبدو ان الاوفيس اخذ الخيار الوضع الحصري كخيار افتراضي لفتح ملفات الاكسس 

 

منذ ساعه, رمهان said:

Application.SetOption "Default Open Mode for Databases", 1

نعم هذا ما كنت ابحث عنه :wavetowel:

 

اشكرك جزيل الشكر على مساعدتك لي في اكتشاف خفايا جديدة في الاكسس

 

سؤال اخير وهو لماذا تم وضع الخيار الحصري؟

تم تعديل بواسطه sandanet
رابط هذا التعليق
شارك

35 دقائق مضت, sandanet said:

سؤال اخير وهو لماذا تم وضع الخيار الحصري؟

واضحه من الاسم

كل ماظهرت حاجه لفتح القاعده لوحدي فقط

مثلا 

تعديل في التصميم

عمل صيانه

تغيير او وضع كلمة مرور

تشغيل نسخه واحده من القاعده

وهكذا .. 

 

تحياتي

تم تعديل بواسطه رمهان
  • Like 1
رابط هذا التعليق
شارك

استاذ رمهان انا في الحقيقة لم استوعب وظيفة الخيار الحصري الى الان فهل لي بمثال من عندك لو سمحت؟ 

 

افترض ان لدي قاعدة بيانات a على السيرفر وواجهة قاعدة البيانات b  على جهاز آخر على الشبكة المحلية فلو فرضنا ان الاكسس في السيرفر يفتح على الخيار الحصري فهذا لن يمنع واجهة البرنامج b من الاتصال لكن قد تظهر رسالة خطأ مثلما حصل معي لكني بمجرد استبدال نسخة الواجهات باخرى فقد تم الربط بنجاح وبعد متابعة الموضوع معك وجدت ان الاكسس على الجهاز الرئيسي الذي يحتوي على القاعدة a لايزال على الخيار الحصري .. ما اعنيه هو ان الخيار الحصري لم يمنعني من القيام بالربط بعد تبديل نسخة الواجهات!! :blink:

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

22 ساعات مضت, sandanet said:

افترض ان لدي قاعدة بيانات a على السيرفر وواجهة قاعدة البيانات b  على جهاز آخر على الشبكة المحلية فلو فرضنا ان الاكسس في السيرفر يفتح على الخيار الحصري فهذا لن يمنع واجهة البرنامج b من الاتصال 

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

يمكن لم تظهر لك جلية لانك تستخدم استراتيجية تقسيم القاعدة . لكي تظهر للتجربه اتبع التالي

ضع a  حصريا ثم افتح احد الجداول واتركه مفتوحا . حاول تفتح b سواء والتي مربوطه ب a  ستجد رساله تفيد بان a بوضع حصري.

الى هنا حسب مثالك

ولكن خلينا نشرح اساس المسالة

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

1. تقسيم القاعدة الجداول على السيرفر والشاشات على الاجهزة العميلة الاخرى . وهذا انت متبعه

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

وهنا في هذه الاستراتيجيه لو تم فتح الملف حصري من احد المستخدمين فانه لن يستطيع احد فتح الملف وهذا منطقي بل وضروري في الحالات التاليه

1. لو حبيت اعدل في تصميم احد الجداول . هل معقوله وانا جالس اعدل في الجدول يكون هناك مستخدم اخر يدخل بيانات وعلى التصميم القديم . ابدا فالاولى ان افتح القاعده بشكل حصري حتى اتاكد انه لن يستطيع المستخدمين الاخري فتح املف حتى انتهي ثم اغير الخيار الى مشترك .

والحالات التي تظهر ضرورة الحصري ذكرتها سابقا في المشاركة السابقة وهي ليست حصرا

اتمنى حصلت الفائدة وتقبل تحياتي

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

اشكرك استاذي القدير رمهان على هذا التوضيح الرائع

منذ ساعه, رمهان said:

يمكن لم تظهر لك جلية لانك تستخدم استراتيجية تقسيم القاعدة . لكي تظهر للتجربه اتبع التالي

ضع a  حصريا ثم افتح احد الجداول واتركه مفتوحا . حاول تفتح b سواء والتي مربوطه ب a  ستجد رساله تفيد بان a بوضع حصري.

الى هنا حسب مثالك

عند هذه النقطة اصبح الامر واضح جداً

 

بارك الله فيك على هذا الجهد الرائع وان شاء الله يكون في ميزان حسناتك وربي يوفقك دائماً

 

تحياتي

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

حبيت اضيف

انه كيف يمكن فتح القاعده حصري بدون تعديل الخيارات

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

https://www.google.com.sa/imgres?imgurl=https%3A%2F%2Fwww.techonthenet.com%2Faccess%2Fdatabase%2Fimages%2Fexclusive002.png&imgrefurl=https%3A%2F%2Fwww.techonthenet.com%2Faccess%2Fdatabase%2Fexclusive.php&docid=-Gw0JPnC-vXOfM&tbnid=8Y2UFEq7R-FpwM%3A&vet=1&w=681&h=593&safe=strict&bih=669&biw=1396&q=access 2003 open exclusive&ved=0ahUKEwiPkeTG8NHSAhXDrRoKHdDlCcwQMwgaKAAwAA&iact=mrc&uact=8#h=593&imgrc=8Y2UFEq7R-FpwM:&vet=1&w=681

 

تم تعديل بواسطه رمهان
  • Like 1
رابط هذا التعليق
شارك

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

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



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

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

Important Information