اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

لدي مشكلة في الترقيم التلقائي في الجدول

في البداية بدأ الترقيم من 1 إلى 122

ثم قمت بحذف جميع البيانات وادخلت بيانات جديدة بدأ الترقيم من 123

ولو حذفت سجل رقم 123 مثلا واحببت ادخال سجل جديد يأتي الرقم 124

وهكذا

فما الحل أعزكم الله واصابكم من رحمته

قام بنشر

اخي علي تحية طيبة و بعد

فعل خيار ( ضغط عند الإغلاق ) من علامة التبويب ( خيارات - عام - ضغط عند الاغلاق )

في هذه الحالة سيتم اعادة الترقيم التلقائي

او اختر من شريط الادوات ( ضغط و اصلاح قاعدة البيانات )

ايضا ستحل المشكلة لديك

جرب ووافينا بالنتيجة

قام بنشر (معدل)

الأخ على السلام عليكم

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

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

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

راجع الرابط

http://www.officena....showtopic=36637

تم تعديل بواسطه محمد السوداني
قام بنشر (معدل)

الاخ محمد أيمن

الأخ محمد السوداني

شكرا لكم ولاهتمامكم

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

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

وعليه

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

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

شكرا لكم إخواني الكرام

تم تعديل بواسطه علي المصري
قام بنشر

السلام عليكم

عند ترقيم السجلات بغرض التنسيق والفرز والترتيب التسلسي فالاولى عدم استخدام الترقيم التلقائي الخاص بأكسس

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

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

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

me.text=Dmax("text","mytble")+1

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

.

لدي تعليق على ما تفضل به اخي محمد ايمن

فعل خيار ( ضغط عند الإغلاق ) من علامة التبويب ( خيارات - عام - ضغط عند الاغلاق )

في هذه الحالة سيتم اعادة الترقيم التلقائي

صحيح ... بشرط حذف جميع السجلات من الجدول قبل عملية الضغط

وليس هذا ما اردت التعليق عليه وانما حول مسألة اختيار : ( ضغط عند الاغلاق )

وهي تجربة احببت نقلها اليكم : هناك علاقة او سبب بين ضرب ( تلف ) قاعدة البيانات وهذا الخيار

قام بنشر (معدل)

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

اخي : أبو خليل

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

ولكن التعبير


me.text=Dmax("text","mytble")+1

اين أكتبه في الجدول لكي احصل على الترقيم التلقائي

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

الجداول لا يكتب فيها شيء غالبا ( عدا بعض القيود في الخصائص )

وانما محل هذه الاكواد في النماذج او محرر الفيجوال

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

قام بنشر

قبل أن أسترسل في مناقشة مقترح الأخ ابو خليل اود ان انبه لشيء هام

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

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

السلام عليكم

عند ترقيم السجلات بغرض التنسيق والفرز والترتيب التسلسي فالاولى عدم استخدام الترقيم التلقائي الخاص بأكسس

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

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

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

me.text=Dmax("text","mytble")+1

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

.

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

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

ولنفترض أن عدد السجلات بلغ 6 سجلات وقمت بحذف أحدها ولنفترض انه السجل الذي يحمل الرقم 3 فاصبح لدي 5 سجلات فقط لكنها تنتهي بالرقم 6 بدلاً عن 5 لأنها بدأت من 1 وحتى 6 لكني حذفت الرقم 3 منها فعند ادخال سجل جديد بعد الحذف سيحمل الرقم 7 لأن الدالة سترجع المتغير دي ماكس الي 6 وتضيف له واحد فسيصبح القيمة الجديدة 7 وسيكون عندي 6 سجلات لنها تحمل ترقيم غير متسلسل ايضا لغياب الرقم 3 منها إذا المشكلة لم تحل.

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

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

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

آسف للإطالة ولكن الشرح تطلب ذلك

قام بنشر

اخي محمد كلامك صحيح

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

عودة الى اخينا علي

ما الغاية من هذه العملية ؟؟

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

قام بنشر

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

الاخوة الكرام

شكرا على هذه المعلومات الهامة والمفيدة

والتي لا يمكن أن أعرفها إلا في هذا الصرح العظيم ( منتديات أوفيسنا )

الاخ محمد أيمن

غرضي من هذا الترقيم هو

انا عامل فورم لادخال البيانات

فعند الضغط على زر السجل الأول اجد الرقم مثلا 25 لأنه تم حذف ال 24 سجل السابقة

وفي النهاية أجد رقم مثلا 250 في ان الطلاب عند العدد الصحيح هو 250 - 24 = 226

مما يدعو إلى الشك واللخبطة

وخاصة إذا تم استخدام القاعدة من قبل شخص آخر كل اللي يعرفه هو ادخال البيانات

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

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

واتمنى أن اكمل المشوار معكم

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

شكرا لكم وبارك الله فيكم ورزقكم الجنة بفضل الشهر الكريم

قام بنشر

اخي الكريم

الحل يكمن في استخدام الدالة Dcount

قم باخفاء حقل الترقيم التلقائي و قم بوضع مربع نص جديد غير منضم

وضع هذا الكود في مصدر عنصر التحكم

=DCount("a","dataa","")

تمثل a اسم اي حقل من الجدول ( لاننا هنا نريد عد السجلات فقط و بالتالي لا نلتزم باي شرط ولا يهمنا حقل معين )

بينما تمثل ( dataa ) اسم الجدول

جرب وووافينا بالنتيجة

قام بنشر

اشكر اخواني على هذه الفوائد واحب ان اضيف فائدة :

1- نحن لسنا في حاجة ( غالبا ) الى اتنظيم والترتيب داخل النماذج وانما نقوم بذلك عند العرض في التقارير وهذه الخدمة متوفرة ومهياة داخل التقارير .

2- يمكن استعادة الارقام المفقودة في الترقيم التلقائي برمجيا واستخدامها كسجلات جديدة ، وهنا ينتفي التعارض مع الجداول المرتبطة .

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information