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

مشكلتي مع الشكبة

مغلق
بدأه MSD في 8 مايو 2002 · 9 رد · 595 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عملت برنامج على اكسس الفين لكي يعمل على الشكبة ولقد قمت بالأتي :

1 وضعت الجداول في السيرفر

2 وجعلت نسخة من التطبيق في جهازك كل مستخدم

3 جعلت ملف الحماية(مجموعة العمل) في السيرفر

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

#2

جرب

Tools

option

advanced

default open mode

shared

وذلك للقاعدة التي علي ال سيرفر

#3

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

#4

هل اذا أزلت الصلاحيات تماما يستطيع الجميع العمل أم تكون نفس المشكلة قائمة

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

عموما أزل الصلاحيات و أخبرنا هل مازالت المشكل قائمة ؟

ثانيا هل تستخدم ريكوردست فى البرنامج لتحرير الجداول ؟

#5

أخي محمد طاهر

أنا الآن لدي برنامج وعلى وشك إنهائه لإحدى الدوائر الحكومية .. وسوف أضعه على الشبكة مثل أخي MSD ... واستخدمت الريكوردست بكثرة فهل يؤثر على الشبكة أو يحصل كما حصل للأخ MSD

أخي الكريم MSD

أفهم منك أن ملف مجموعات العمل يوضع في الداتا في السيرفر ... وليس عند كل مستخدم ... أرجو أن تفيدني

#6

تاكد من عدم دخولك على التصميم في اي من الاجهزه

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

ايضا اذهب الى الخصائص وتاكد من الاقفال يتم على نظام الريكورد وليس شامل

#7

أخي العزيز ،

أما عن الريوكردست ، فما حدث معي هو كالتالي

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

فاذا حاول أحد المستخدمين الاخرين تنفيذ أمر علي نفس الجدول كانت تظهر له مشكلة

و يالمناسبة كان طول زمن تنفيذ الريكوردست ناتنج من خطأ فيها

و بعد ذلك نتيجة كثرة تنفيذ التحديث بالكود لأكثر من مستخدم فى نفس الوقت لقاعدة البيانات هذه ، وجدت أن التحديث بأوامر SQL أي insert و update يكون أسرع و أمن

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

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

و بعد استبدالها بال SQL لم تظهر مشاكل بالمرة ، حتي مع سؤ حالة الشبكة

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

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

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

اما عندما كانت حالة الشبكة مستقرة و حركة البيانات عليها سريعة فلم تكن تحدث هذه المشاكل

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

#8

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

#9

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

#10

انا صارت معي نفس المشكلة سابقا و لكني مش متذكر بالضبط شو كان سببها الان :D

اعتقد بانني قرئت في احدة النشرات بانه لن يرضى ال Access ان يعمل اذا قاعدة البيانات في الجهاز المركزي و الجهاز المركزي معرف ك Domain Controler لان طريقة اغلاقه للملفات مختلفة

اعتقد ايضا بانها سوف ترفض العمل في اجهزة Windows 2000 Pro التي تعمل ضمن ال Domain Controler ايضا

هذا شيئ من ما اتذكره

الطريقة المثلى هي تركيب SQL Server او النسخة المصغرة منه المجانية MSDE و استخدامها كمخزن للبيانات بدل قاعدة البيانات الاخرى

هكذا سوف تتخلص من مشكلتين او من 3 مشاكل بالاحرى

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

مشكلة حدوث خطاء في البيانات نتيجة لتنفيذ اوامر متتالية عبر ADO او SQL مع ان SQL الخطاء به اقل، و امكانيات كتابة الكود به اكثر بكثير.

كما انه ممكن ان تطلب بان تنفذ عملية ما او تلغى ، بكلمات اخرى بان بتبدا اجراء من بتقوم ب 10 تعديلات على جداول مختلفة و في تاسع تعديل بتقطع الشبكة فلا تنتهي التعديلات، في MSDE في الكود ممكن اضافة سطرين لو بتستخدمه و هو سطر او الكود في فيجوال بيزك او SQL يخبر البرنامج بداية التعديلات و عدم سريان مفعولها حتى نهايتها، و في نهاية الكود امر تطبيق التعديلات

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

اعتقد بان مسئلة قبول و رفض تعديلات متالية معا موجودة ضمن قاعدة بيانات ال MDB ايضا (لست متاكد من ذلك)

تحل ايضا مشكلة السرعة و تخفيف الضغط على الشبكة

هذا الموضوع مغلق.

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