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

رسالة تم تجاوز عدد تأمينات مشاركة الملفات

مغلق
بدأه kamal alnahhal في 8 أغسطس 2007 · 7 رد · 1,453 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخـــواني الأحبـــاء في الفريق العربي للبرمجــــة

بعد التحيـــــة ،،،،

عند تجريب برنامج احتســـاب فواتير المياه لعدد 3300 مشترك وعدد القراءات 3300 قراءة شهرية لم تظهر مشكلة وتم الاحتساب بنجاح ، ولكن عند ادخال 33000 قراءة بمعدل عشر قراءات لكل مشترك لعشرة أشهر دفعة واحدة وعند الاحتساب ظهرت هذه الرسالة

" تم تجاوز عدد تأمينات مشاركة الملفات"

"قم بزيادة إدخال التسجيل MaxLocksPerFile"

Run_time Error 3052

المجرب حالياً 3300 مشترك وعند الاحتساب لا توجد أي مشكلة.

والسؤال الآخر وهو كيف يمكن اختبار البرنامج هل يمكن احتساب الفواتير لاكثر من 20000 مشترك؟

وبارك الله فيكم وجعله في ميزان حسناتكم

أخيكم / كمـــال النحـــال

تم تعديل هذه المشاركة بواسطة kamal alnahhal في 8 أغسطس 2007 في 06:30

[يمين]

إذا كـان تـرك الـدين يعــنــي تقــدمــاً

فـيا نفــس مـوتــي قبــل أن تتقـدمــي

[/يمين]

#2

اخي الفاضل كمال النحال

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

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

الطريقة الأولى : التغيير عن طريق الريجستري

1. من الويندوز اضغط على ابدأ

2. اختر تشغيل

3. اكتب في الصندوق الكلمة التالية REGEDIT

post-15367-1186565602_thumb.gif

4. اتبع المسار التالي حتى تصل الى MaxLocksPerFile

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0\MaxLocksPerFile

5. اضغط على MaxLocksPerFile مرتين وقم بزيادتها الى اي رقم تريد

post-15367-1186565641_thumb.gif

post-15367-1186565669_thumb.gif

اما الطريقة الثانية فهي عن طريق الكود

DAO.DBEngine.SetOption DAO.dbMaxLocksPerFile, 100000

لمزيد من المعلومات راجع الرابط التالي

http://support.microsoft.com/default.aspx?...kb;en-us;815281

#3

أخـــتي زهــــرة .... أسعد اللـــــه أوقاتــك دائمـــاً

أنا فخـــور جـــداً بــك .. لأنــك بالفعـــل كــنز لا ينضــب لهـــذا المنتــــدى العظيـــم ومهما تحــدثت لا يمكـــن أن أوفــي بحقــك .

البرنامج عمل بنجـــاح وتم احتســـاب 35516 فاتورة في أقــل من نصف دقيقة وهـــذا إنجـــاز كنــت لا أحلم بهـــذه الســـرعـــة وبهـــذا العدد من الفواتير.

أخيك / كمـــال النحـــال

[يمين]

إذا كـان تـرك الـدين يعــنــي تقــدمــاً

فـيا نفــس مـوتــي قبــل أن تتقـدمــي

[/يمين]

#4

بارك الله فيك اخي كمال وبالتوفيق ان شاء الله تعالى

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

ختاما لك مني كل الشكر والتقدير على كل الجهود المبذوله في المنتدى

#5

شكرا للاخت زهرة

ولكن هل تكرمت وبينت اين يكتب هذا الكود.

تحياتي...

#6

اخي الفاضل بلالي

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

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

وطريقة استخدام الكود يكون بهذه الطريقة

1. افتح قاعدة البيانات المطلوب تطبيق اقصى عدد معالجات للسجلات

2. من لوحة المفاتيح اضغط على المفتاحين ALT + F11

3. ستجد نفسك في محرر الفيجول بيسك للتطبيقات VBA

4. من قوائم المحرر العلوية ( File Edit View ) اختر View او من لوحة المفاتيح اضغط على مفتاح ALT ثم اضغط حرف V وستفتح لك قائمة View عرض

5. بعد ان تفتح قائمة العرض View اضغط على Immediate Window او من لوحة المفاتيح اضغط على مفتاح Ctrl ثم G وستظهر لك نافذه سفلية Immediate Window

ملاحظة : اختصارا للخطوتين الرابعة والخامسة يكفي فقط بعد فتح محرر الفيجول بيسك ان تضغط على المفتاحين Ctrl ثم G

6. في نافذة العرض اكتب الكود ثم اضغط على مفتاح Enter من لوحة المفاتيح

DAO.DBEngine.SetOption DAO.dbMaxLocksPerFile, 100000

post-15367-1186596858_thumb.gif

لاحظ في آخر الكود انني وضعت 100000 كحد اقصى بإمكانك تقليله على حسب عدد السجلات لديك مع زيادته قليلا فمثلا لو كان لديك عدد سجلات 20000 تريد معالجتها فيفضل ان تضع 30000 اي بزيادة 10000 سجل زيادة عن عدد السجلات لديك وتذكر ان هذه العملية مؤقته وليس دائمة .

#7

السلام عليكم..

شكرا جزيلا للاخت زهرة على هذا الجواب الوافي الشافي.

واطلب من الله العزيز القدير ان يوفقها دائما وابدا ، ويجعل خاتمتها خيرا ..آمين.

تحياتي...

#8

اما الطريقة الثانية فهي عن طريق الكود

DAO.DBEngine.SetOption DAO.dbMaxLocksPerFile, 100000

أخـــتـي الفاضلـــة ... زهـــرة

أريــد أن أوضـــح لك أن هنــاك إمكانيــــة لحمايـــة البرنامـــج مــن خلا الكـــود الــذي وضعتيـــه بتقييــــد العـــدد 100000 مثـــلاً إلــى 100 وأشـــكرك مــرة أخـــرى.

أخيـــك / كمـــال

[يمين]

إذا كـان تـرك الـدين يعــنــي تقــدمــاً

فـيا نفــس مـوتــي قبــل أن تتقـدمــي

[/يمين]

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

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

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

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

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

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