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

إضافة سجل بين السجلات ونقل السجلات


nssj
إذهب إلى أفضل إجابة Solved by husamwahab,

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

😐 طيب .. ممكن طلب آخر يمكن يكون أسهل

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

والأكواد المطلوبة

1- كود نقل السجل حركة واحدة للأسفل أو للأعلى، وهو أحد الأكواد التي أشار إليها عليها الأخ biskra

2- كود الإضافة الذي تفضل به الأخ  (kanory)، حيث سوف أستخدمه في الجداول والنماذج الفرعية، حيث لا توجد مشكلة النصوص الطويلة التي تسبب البطء، وميزة كود الأخ (kanory) أنه لا يتطلب وجود الترقيم العشري يكفي فيه فقط وجود حقل الرقم المسؤول عن الترتيب (Tno)

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

MusndWZwayid 01.accdb

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

  • 9 months later...

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

وفي الملف المرفق خلاصة التجارب والمحاولات

هذا وقد فرقت في التعامل بين الجدول الرئيسي الكبير (TAB) والجداول الأخرى العادية، وهي في الملف المرفق (Tab_Msaneed) (TAB_RMZ)

* في الجدول الرئيسي (TAB) اعتمدت على الكود الذي تفضل به الأخ (husamwahab)  في الإضافة والنقل، لأني لاحظت أنه الأسرع في الملفات الكبيرة.

لكن الأفضل إعادة الترقيم بين الحين والآخر، لذلك أدرجت كودا خاصا لهذا الغرض (mod_ReTno)

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

ففي الحالة الأولى استخدمت أحد الأكواد التي أشار إليها الأخ الكريم (biskra) بعد أن حولته لوحدة نمطية (Mod_MoveRecord)، والتطبيق في النموذج المفرد (FRM1)

أما في الحالة الثانية فقد استخدمت كود الأخ (husamwahab) ، وحتى الخطوات التي طلبتها في النقل، فقد وفقني الله لفعلها كلها بحمد الله، بعد تقليب النظر في مكتبة الأكواد التي عندي، وعدة مواضيع واستفسارات طرحتها في هذا المنتدى المبارك لم يبخل الإخوة الكرام في مساعدتي فيها

- لكني لاحظت أن استخدام كود الأخ حسام في نقل أكثر من (10) سجلات دفعة واحدة قد ينتج عنه خلل في الترتيب، فاستخدمت كودا آخر لنقل عدد كبير من السجلات دفعة واحدة، لأن هذا الأمر قد أحتاجه أحيانا .. وكانت النتيجة جيدة بحمد الله

وتطبيق هذه الأكواد في النموذج المستمر (FRM2)

* كل ما سبق في الجدول الأساسي الكبير (TAB) أما في الجداول الأخرى، فبخصوص نقل السجلات فاكتفيت بكود النقل خطوة واحدة

وبخصوص الإضافة فقد استلهمت من كود الأخ (kanory) فكرة كود مختصر يضيف سجلا جديدا بالترقيم العشري ويستدعي كود إعادة الترقيم في نفس الوقت، لأن كل هذه الإجراءات في الجداول العادية والمتوسطة لا تأخذ وقتا طويلا.

وأيضا حولته لوحدة نمطية (Mod_ADDRecord) لاستخدامها في أي جدول مع مراعاة إضافة المفتاح الأساسي تلقائيا سواء كان ترقيما تلقائيا أو حقلا رقميا آخر.

* وينبغي التنبيه أن كل هذه العمليات: الإضافة والنقل بمختلف الطرق والأكواد، وإعادة الترقيم، كلها تعتمد على حقل رقمي خاص موحد في جميع الجداول، واسمه (TNO)

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

فإن لم يكن، فلعل أحد الإخوة وهو يبحث عن موضوع (إضافة ونقل السجلات) يجد هذا الملف ويستفيد منه ولو فائدة بسييييطة

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

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

والحمد لله أولا وآخرا

Add&Remove Rrcords.rar

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

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