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

nssj

03 عضو مميز
  • Posts

    384
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل منشورات العضو nssj

  1. الإخوة الكرام .. السلام عليكم أنا بحاجة لكود يقوم بنسخ نص معين من سجلات محددة ليضع ما تم نسخة في آخر السجل السابق * والسجلات التي هي مجال القص هي التي يكون فيها الحقل (cut_thes) يساوي: نعم * وكنت في البداية أريد قص النص من أوله إلى آخر أول فقرة، ونجحت في ذلك Me.nass.SelStart = 0 Me.Nass.SelLength = InStr([Nass], Chr(13)) - 1 DoCmd.RunCommand acCmdCut وعلى هذا الأساس فالكود كان يعمل بشكل جيد وبدون مشاكل لكن ظهر لي أن الأفضل قص النص من أوله إلى ما قبل أول فقرة تبدأ برقم فإن لم يكن هناك فقرة تبدأ برقم فيتم قص النص كله وهذه لم أعرف كيف أنفذها يعني في هذه الصورة المطلوب قص السطرين ونقلهما ، وليس قص السطر الأول فقط وقد أضفت حقلا للنص المطلوب الحصول عليه وضعته يدويا للتوضيح أرجو أن أكون قد أوضحت المطلوب .. والكود المرفق سيوضح المطلوب أكثر .. ينقصني فيه جزئية تحديد النص المطلوب: من أول الحقل إلى ما قبل أول فقرة تبدأ برقم Cut_Paste.rar
  2. المشكلة إني بعد كل هذا الوقت وهذه التجارب مش عارف وين المشكلة بالضبط 🙂 المشكلة إجمالاً في طريقة تعرف الأكسس على الفقرات وتعدد رموزها ويبدو أن هذا الأمر يختلف من ملف لآخر حسب طريقة الإدخال والكتابة لكن استخدام الكود الذي تفضلتَ به سابقا في حذف الأسطر والمسافات الزائدة ، يبدو أنه يوحد رموز الفقرات في الملف، مما يعطي أداء أفضل عند البحث عنها لكن على الرغم من ذلك، الكود الذي تفضلت به هنا لا يتعرف على بعض الفقرات، في الملف المرفق توجد ثلاث فقرات لم يتعرف عليها، مع أنني خلال التجارب تأكدت من أن كل الفقرات هي (chr13) باستخدام الدالة التي تفضلت بها مشكورا لكن لما استخدمت كود الأخ Moosak -بعد استخدام كود المسافات والأسطر- أعطى النتيجة المطلوبة أما لماذا تعرف هذا الكود على كل الفقرات بخلاف ذاك مع أن المعطيات واحدة .. فهذا فوق مستوى معرفتي بمرااااحل 😅 الحاصل .. أنه تم الوصول للمطلوب من خلال استخدام كودين .. ولا مشكلة عندي في هذا الأمر بل هذا يجعلني أفكر بجدية لاستخدام كود حذف الأسطر والمسافات الزائدة على كل الملفات التي أستخدمها في أكسس لتوحيد المنهج
  3. حصيلة التجارب .. النتائج الدقيقة تم الوصول لها بكود الأخ Moosak بعد تعديل النص بكود قديم للأخ jjafferr هذه النتيجة بعد عدة تجارب على عدة ملفات .. كانت تخرج لي نتائج متفاوتة .. وحاولت بعد إجراء عمليات استبدال بين أفراد عائلة [علامات الفقرات: (chr) ] لكن لم أصل إلى النتيجة المطلوبة وبقيت النتائج متفاوتة لسبب لم أعرفه، لكن كان أداء كود الأخ jjafferr أفضل ثم استخدمت كود الأخ jjafferr لحذف المسافات والأسطر الفارغة كود حذف الأسطر الفارغة والمسافات في أول السطر فحصلت على النتيجة المطلوبة من كود الأخ Moosak، وبقيت بعض الاختلافات في نتيجة كود الأخ jjafferr وهذه نتيجة الكودين قبل تعديل النص وهذه النتيجة بعد التعديل وفي الملف المرفق جدول (0book) للنص قبل التعديل لاستخدامه عند التجارب، واستعلام تعديل النص (qry_Update) check_Book4.rar
  4. أما أنا فلا زلت على البسكلته 🛴 😂 هذا مجرد مرور سريع .. لأني بحاجة لوقت لأهضم هذه الوجبات الدسمة .. السهرة الليلة مطولة 😀
  5. المشكلة أن الذكاء الصناعي غير مناسب للمبتدئين أمثالي .. لأن اقتراحاته يصعب علي استيعابها 😅 أنا أخذت وقتا لأفهم كود الأخ جعفر وهو سطر واحد .. والآن لدي صفحتان 😄 لكن هذا لن يمنعني أن (أُعُلِّمَ) على الذكاء الاصطناعي 😁 .. فلا تزال توجد نفس المشكلة في هذه الصفحة (ويمكن معرفة الخطأ إن وجد باستعلام difference) فإن أمكن تجاوزها فبها ونعمت .. وإلا فالذكاء الاصطناعي حل (95%) من المطلوب .. وأنا قنوع 🙂
  6. أخي الكريم .. المطلوب تمييز الصفحات التي فيها أكثر من رقم للأحاديث وحيث أن ترقيم الأحاديث ليس بين أقواس أو رموز خاصة، وأيضا فإن الصفحة قد تحتوي على أرقام أخرى غير أرقام الأحاديث، كأرقام الآيات مثلا [النساء: 176] فالطريقة الوحيدة لتمييز أرقام الأحاديث هو البحث عن الأرقام التي في أول الفقرات فإذا كانت الصفحة الواحدة فيها أكثر من فقرة تبدأ برقم، فهذا يعني أن فيها أكثر من ترقيم .. وهو المطلوب، فعندها توضع علامة لهذه الصفحة وقد أضفت حقل (aa) وميزت فيه الصفحات المطلوبة يدويا لإجراء المقارنة بين الاستعلامين، وظهر أن الاستعلام الأول (1chek) يؤدي نتيجة أفضل .. book.check_no = IIf(IsNumeric(Left([Nass],1)) And InStr(10,[Nass],Chr(10)),-1); فالإشكالية في هذه الصفحات أما الصفحتان الأولى والثانية فكل منهما لا تبدأ بأرقام، والمطلوب في مثل هذه الصفحات تمييز التي فيها أكثر من فقرة تبدأ برقم، وليس التي فيها فقرة تبدأ برقم أما الصفحة الثالثة فلا أدري ما السبب، إلا إذا كان الفرق بين ch(10) & ch(13) فلما استخدمت (13) بدل (10) في الكود لم تظهر الإشكالية في هذه الصفحة لكن حصلت على نتائج مختلفة وأخطاء أكثر !! وحصلت على النتيجة المطلوبة بالاستعانة بالحقل الذي ميزته يدويا (aa) بجعل الكود يعمل على الصفحات التي فيها اختلاف فقط عبر هذا الكود في النموذج CurrentDb.Execute "UPDATE book SET book.check_No = IIf(IsNumeric(Left([Nass],1)) And InStr(10,[Nass],Chr(10)),-1)" CurrentDb.Execute "UPDATE book SET book.check_No = IIf(InStr(10,[Nass],Chr(13)),-1)where book.check_no <> book.aa" هذه حصيلة تجارب الليلة الماضية .. ولم أعرف كيف أجمع بين نتائجها للوصول للمطلوب بشكل دقيق .. هذا إذا كان من الممكن تحقيق ذلك check_Book2.rar
  7. أحسن الله إليك أخي الكريم .. بالنسبة للاعتبار الأول (الصفحات التي لا تبدأ بأرقام) تم المطلوب بحمد الله أما بالنسبة للثاني، فهو يضع علامة في الصفحات التي ليس فيها إلا ترقيم واحد إذا كانت لا تبدأ بأرقام، وظني أن السبب أنه في هذه الحالة يكون الترقيم في أول الفقرة وليس في أول الحقل وإشكالية أخرى ظهرت لي لا أدري ما سببها وهي كما في الصورة
  8. وعلكم السلام أخي الكريم جعفر أولا: لأني أجيد التعامل مع الأكواد أكثر حولت الاستعلام إلى كود Private Sub com_check_Click() CurrentDb.Execute "UPDATE book SET book.check_Page = IIf(IsNumeric(Left([Nass],1)),-1,Null), book.check_No = IIf(IsNumeric(Left([Nass],1)) And InStr(10,[Nass],Chr(10)),""-1"",Null)" MsgBox "DONE" End Sub ثانيا: بخصوص الاعتبار الأول فالكود يعمل بالعكس، المطلوب تمييز الصفحات التي لا تبدأ بأرقام، وهو يميز الصفحات التي تبدأ بأرقام ثالثا: الاعتبار الثاني يعمل بالشكل المطلوب، لكن إذا كانت صفحة لا تبدأ بأرقام وكان فيها أكثر من رقم بالشرط المطلوب لا يعمل الكود، يعني في مثل هذه الصفحة المعدلة: وطبعاً لأني مش فاهم الكود فما عندي قدرة على محاولة التعديل 😅 فإذا وجدت وقتا أخي الكريم فلعلك تتكرم بشرح موجز عن العبارات المستخدمة، فقد تنفعني في اختراعات قادمة 😁 .. مثلاً عبارة (IsNumeric) ماذا تعني 🤔
  9. الإخوة الكرام السلام عليكم ورحمة الله وبركاته في الملف المرفق حقل نصي (Nass) المطلوب كود لتمييز الصفحات باعتبارين * الاعتبار الأول: الصفحات التي لا تبدأ بأرقام، يعني في مثل هذه الصفحة يصبح مربع (check_Page) : نعم * الاعتبار الثاني: المفترض ألا تحتوي الصفحة إلا على ترقيم واحد، والمطلوب تمييز ما عدا ذلك، وآلية تمييز هذه الصفحات فهي أن يوجد فيها أكثر من فقرة تبدأ برقم، كما في هذه الصورة فقد تحتوي الصفحة على أرقام في أكثر من موضع كما في الصورة، فإذا كان الرقم في بداية السطر فيعني أنه للترقيم، فإذا كان يوجد أكثر من رقم بهذا الشرط فتميز هذه الصفحة بجعل مربع (check_No) : نعم check_Book.accdb
  10. جزاك الله خيراً أخي الكريم Moosak وأحسن إليك .. تم المطلوب بحمد الله بعد تجاوز بعض المشاكل وتصحيح بعض الأخطاء في الملف .. ولذلك تأخرت في الرد 🙂 أولا: غيرت (Dim I As Integer) إلى (Dim I As Long) للعمل على الملف الأصلي الذي يحتوي (54700) سجلا ثانيا: كانت تخرج هذه الرسالة وكنت أظن أن المشكلة هي كثرة عدد السجلات، فكنت أحذف من السجلات وأعيد التجربة حتى وصلت إلى (70) سجلاً، ولا زالت الرسالة تخرج وبعدين شربت كاسة شاي ومخمخمت 😁 واستنتجت أن المشكلة هي وجود قوس البداية { ، بدون نهايته: } ، ويرجع السبب لأمرين: 1- أنني استخدمت نصا مختصرا، لأني لا أريد البحث في كل السجل لوجود أرقام بين {} في أواخر العديد من السجلات وهي أرقام غير مطلوب استخراجها، نحو: (يأتي {8155} ، تقدم {122} ..) وفي بعض الصفوف كانت توجد آيات بين قوسين {} ونتيجة الاختصار تبقى بداية الآيات مع قوس البداية { ، ويحذف الباقي مع قوس النهاية } وتجاوزت هذه المشكلة بعمليات استبدال {أ - {ب - {ت .. .. بفراغ 2- وجود أخطاء بكتابة الأرقام والأقواس، مثل: {1088) ، {2512 عن ابن .. وتم تصحيح هذه الأخطاء، لأن الكود يقوم بتعبئة الجدول إلى أن يصل إلى السجل الذي فيه الخطأ ويقف، وهكذا عرفت أين الأخطاء وعالجتها والآن بحمد الله تم المطلوب وزيادة: بتصحيح هذه الأخطاء فالحمد لله أولاً وآخراً وكل الشكر للأخ الكريم Moosak على مساعدته
  11. فعلا الكود قام باستخراج الأرقام المطلوبة .. لكن يبقى وضعها في الجدول المطلوب (TAB_MNO) بالطريقة المطلوبة كما يظهر في الصورة ، رقم (MNO) ثم الرقم المستخرج من هذا السجل أعني أخي الكريم أنه في حالة وجود أكثر من رقم مستخرج كما في الصورة التي أرفقتها أنا وأنت، تجعل الخيار في حقل (MK) : نعم لأني قد أحتاج لفرز هذه الحقول التي فيها أكثر من رقم
  12. الإخوة الكرام .. حقل (NASS) في جدول (TAB) حقل نصي، كثير من حقوله – وليس كلها - تحتوي على ترقيم معين بين قوسي {} والمطلوب استخراج هذه الأرقام حيث وجدت، الأرقام التي بين هذين القوسين فقط دون القوسين، ووضعها في جدول (TAB_MNO) في حقل (OLD_NO)، مع وضع رقم (MNO) للسجل الذي تم الاستخراج منه مع ملاحظة أمرين: * أنه لا يشترط أن يكون كل ما هو بين هذين القوسين {} أرقاماً، فقد يكون حروفا أو رموزا، وفي هذه الحالة فغير مطلوب استخراج ما بينهما * قد تتعدد هذه الأقواس مع الأرقام في السجل الواحد، والمطلوب استخراج الجميع وليس أول قوسين فقط، وفي هذه الحالة توضع علامة (نعم) في جدول (TAB_MNO) عند رقم السجل الذي حدث فيه هذا التعدد وفي هذه الصورة تظهر الملاحظتان (وجود غير الأرقام بين القوسين ووجود أكثر من قوسين) وقمت بتعبئة بعض الصفوف في جدول (TAB_MNO) يدويا ليظهر المطلوب فهل يمكن إنشاء كود يقوم بهذه العملية ؟ MZ_MNO.accdb
  13. هل اكتمل أخي الكريم 🙂
  14. الملاحظة التي في ذكرتُها مشاركة سابقة فأنا لم أجد هذا الخيار في الفيديو الذي وضعته أخي الكريم
  15. نعم أخي الكريم مناسب
  16. جزاك الله أخي الكريم .. يظهر من الصور أنه عمل جميل وفيه خيارات كثيرة ومتنوعة لكن أرجو أن يكون فيه خيار لعرض أسماء المسانيد التي توجد فيها الأحاديث لاستعراض أحاديث كل مسند لوحده عند الحاجة لذلك
  17. بارك الله فيك أخي الكريم لا يوجد عندي شيء جديد لأرفقه .. بانتظار أن ترفع ما عندك لتجربته
  18. أخي الكريم .. أشكر لك اهتمامك وأرفقت لك الملف الذي أجري عليه التجارب للوصول لأمرين: * عرض أسماء الصحابة الذين لهم أحاديث في هذا الموضوع واستعراض أحاديث كل صحابي ، وهذه توصلت إليها بحمد الله * عرض رقم الأحاديث الموجودة في كل موضوع سواء رئيسي أو فرعي، وقد توصلت لذلك في المواضيع الفرعية، أما الأساسية فيخرج بجانبها [0] بناء على أنه كذلك في جدول الموضوعات (TAB_Subject) حقل (Total) لأني لا أعرف كيفية حساب كل الأحاديث التي في كل فروعها 🤔 MZ_SUB 12.rar
  19. اعذرني أخي الكريم .. لم أفهم قصدك شرح لماذا بالتحديد ؟ وماذا تقصد بــ (تتحدث جقل قائمة) ؟
  20. نعم شكراً جزيلاً للأخ AbuuAhmed ولكل الإخوة الكرام الذين يصبرون على كثرة استفساراتي 😀 وبخصوص المشاكل التي واجهتني في شجرة العناوين فقد تم تجاوزها بحمد الله واستخدمت نموذجاً فرعيا بغرض الذهاب للمسند المطلوب، يعني بعد عرض كل أحاديث الموضوع يمكن الذهاب للمسند المطلوب، وهذه نتيجة مبدئية جيدة ويمكنني تطويرها بعون الله أما عكس ذلك .. يعني في النموذج الرئيسي الذي يستعرض الأحاديث على المسانيد، فالمطلوب عرض المواضيع التي يحويها هذا المسند فقط للانتقال إليها أو استعراضها .. فهذا لا بد له من موضع مستقل عندما أكون جاهزاً لذلك .. وظني أنه ممكن ، إن لم يكن باستخدام شجرة العناوين فباستخدام القوائم والحاصل أنه بخصوص التعديل على شجرة العناوين فقد تم المطلوب بحمد الله وأنا بانتظار نتيجة عمل الأخ الكريم rockjone33
  21. بارك الله فيك أخي الكريم .. كفيت ووفيت أنا كان استفساري عما إذا كانت هناك آلية لجعل الشجرة تعمل بشرط، لأن هذا سينفعني عند محاولة عرض شجرة العناوين لمسند معين: العناوين التي لها أحاديث في هذا المسند فقط، لأن الملف الأصل عندي (TAB) مرتب على المسانيد كنت أريد أن أعرف المفتاح لهذا الغرض لكي أجري التجارب، فإن لم أفلح سأطلب ذلك في مشاركة مستقلة، لأن طلبه هنا أعتقد انه يعتبر خروجا عن الموضوع .. هذا فضلا أنني لست مستعدا لهذا الطلب الآن .. لا بد من إعداد (عينة مصغرة) مرتبة على المسانيد والموضوعات للتجربة عليها نعم والحمد لله نجحت بشكل ممتاز، مع أنني عندما حاولت حذف الملف الفرعي الذي تعرض فيه الأحاديث لاسبداله بملف فرعي آخر كانت تخرج عدة رسائل ولا زالت التجارب جارية المهم في الأمر .. أنني كنت مرتاحاً لهذا التقدم دون الحاجة لتغيير هيكلة جدول الموضوعات وإعادة تقسيمه لأن هذا الأمر لن يكون سهلاً وكوني حققت نجاحاً بهذا الجدول في عدة مجالات: الإضافة والتعديل على العناوين، وربطها بالأحاديث، مع عرض الموضوعات على شكل قوائم مع عرض أحاديث كل عنوان .. ، لكن هذا النجاح مبني على مجرد التجارب دون معرفة مني لأصول وخفايا بناء قواعد البيانات وتصميم الجدوال، وأريد أن أتأكد من أهل الخبرة أن هذا الطريق الذي سرت فيه صحيح، لأنني ما زلت في البداية ولا أريد بعد رحلة بضعة أشهر لتصنيف الأحاديث على الموضوعات أن أكتشف أن عملي كان مبنيا على أصل غير صحيح وأنه كان من الأفضل لو أني عملت كذا وكذا لذلك لما قرأت كلام الأخ rockjone33 : (ان يكون منفصل لكل لجدول .. ..) ظننت أنه يقترح عمل جدول لكل مستوى وأنه الأفضل لكن قولك أخي الكريم rockjone33 في مشاركتك الأخيرة يعنني أنني أخطأت في فهم كلامك .. فأنا أولاً أعتذر عن سوء الفهم وثانيا أنا مرتاح أنه يمكنني الاستمرار على هذا نهج الجدول الواحد لأن التغيير لن يكون سهلا هذا مع العلم أنني قمت بتجربة لتقسيم الجدول إلى أربعة، ولم يأخذ مني الأمر ربع ساعة وأول مطب وقعت فيه لعدم خبرتي: كيف سأقوم بتصنيف الأحاديث على موضوعاتها بهذه الجداول الأربعة ولو تم جمعها باستعلام فبأي رقم سأربط الموضوعات بالأحاديث ولدي أكثر من ترقيم وأكثر من مستوى، فأكثر الأحاديث مرتبطة عبر المستوى الثالث وبعضها بالثاني والقليل منها بالرابع وإذا كنت بحاجة لاستعلام لضم هذه الجداول الأربعة فلماذا التقسيم من الأصل كل هذه الأسئلة كنت أفكر فيها وجعلتني غير مرتاح للتقسيم ليس لأنه خيار غير جيد .. بل لأنني لم أعتد عليه وبنيت كل عملي على الجدول الواحد .. وتم بحمد الله التغلب على معظم المشاكل التي واجهتني فيه بفضل الله أولا وآخرا ثم بفضل مساعدة الإخوة الكرام وبانتظار نتيجة عمل الأخ الكريم rockjone33
  22. هل تقصد أخي الكريم عمل جدول مستقل لكل مستوى من العناوين؟ أنا كنت منذ بداية دخولي عالم أكسس وإنشاء قاعدة البيانات .. وبناءً على المعلومات التي تحصلت عليها من النت عملت تصميما مبدئيا للموضوعات بناء على ذلك، شجرة مصغرة لعدة موضوعات من ثلاث مستويات، كل مستوى في جدول مع إنشاء علاقات بين الجداول: تم تعرفت على أحد الإخوة المبرمجين – المتمرسين ولديه خبرة في تصميم البرامج الموسوعية: كتب الحديث – كتب الفقه ..- وأريته عملي فقال لي: الأفضل أن تكون العناوين في جدول واحد، وعلمني هذه الطريقة وسرت عليها في فهرس المسانيد: ثم انقطع الاتصال معه فأكملت الطريق لوحدي والعودة للجداول المتعددة يعني أن أعود للبداية في تصميم نموذج الحذف والإضافة والنقل للمواضيع، ونموذج تصنيف الأحاديث على الموضوعات وغير ذلك، لأن عملي الأسبق كله كان مبنيا على هذا الجدول الواحد وعلى الرغم من أن ذلك سيأخذ وقتا وسأزعجكم بكثرة الأسئلة والاستفسارات 🙂 لأنه أمر جديد علي فإذا كان هذا هو الأفضل والأكثر سلاسة وسرعة ومرونة في عرض الموضوعات على شكل قوائم أو شجرة بعدة خيارات : الكل أو لمسند أو مسانيد معينة، مع البحث فيها والتعديل وغير ذلك مما لا يخفى عليكم فسأستعين بالله وأعيد العمل في كل ما يتعلق بالترتيب على الموضوعات بانتظار رأي أهل الخبرة الكرام 🙂
  23. هل يمكن عرض الموضوعات التي فيها أحاديث فقط 🤔 مع العلم أنه يوجد في جدول (TAB_Subject) حقل (Total) وهو لبيان عدد الأحاديث في هذا العنوان ويتم تحديثه عند فتح نموذج (TAB_Subject) بهذا الكود Private Sub Form_Load() CurrentDb.Execute "UPDATE TAB_Subject SET TAB_Subject.Total = DCount(""*"",""[TAB_Subject_X]"",""[SUB_ID]="" & [ID])" ولأني أحب التجارب جربت أن أغير في كود الشجرة Set rst = dbs.OpenRecordset("SELECT * from TAB_Subject ((TAB_Subject.Total)>0)", dbOpenDynaset) وطبعا التجربة فاشلة 😅 وإذا كان هذا ممكنا سيكون مفتاحا لي للتجارب التي سأجريها لمحاولة عرض أحاديث مسند معين وليس كل الأحاديث
  24. أخي الكريم rockjone33 بخصوص الإضافة والتعديل على العناوين فهو من نموذج (TAB_Subject) وليس من شجرة العناوين شجرة العناوين لعرض الموضوعات وأحاديثها فقط هذا ما أراه مناسبا والتعديل يشمل إضافة عناوين جديدة وحذف بعض العناوين والتقديم والتأخير بين بعض العناوين وهو يسري على المستويات الثاني والثالث والرابع، أما المستوى الأول وهو الأبواب الرئيسية فلا تعديل عليها وأكواد الإضافة والنقل كلها تعمل على حقل (TNO) وهي موجودة في الملف المرفق ولم أصمم بعد كودا لإضافة عنوان من المستوى الرابع لعدم حاجتي له في هذه المرحلة .. هذا المستوى سيأتي دوره لاحقا ليس في هذا الملف آخر التعديلات على نموذج (TAB_Subject) لذلك أعدت رفعه كما وأنه كانت تظهر لي هذه الرسالة عند فتح الشجرة وحصلت معي بعض المشاكل عند محاولة إضافة العناوين ولما غيرت اسم الحقل (Parent) إلى (Parentx) سارت الأمور عندي بشكل جيد ولم تظهر الرسالة MZ_SUB 11.rar
  25. لغرض إضافة سجل بين السجلات، وهو حقل موحد في جميع الجداول وهو مسؤول عن الترتيب فقط، وكود الإضافة الذي اعتمدته يتطلب الترقيم العشري. أما لماذا طلبت أن يكون ترقيم شجرة العناوين بناء عليه إن أمكن فلأنه الأيسر علي عند إضافة عناوين جديدة ونقلها وتغيير ترتيبها، وهو أمر أحتاجه كثيرا والأكواد التي اعتمدتها للإضافة هي في نموذج (TAB_Subject) وكما ذكرت سابقاً فأنا تعرفت على هذه الطريقة في الترقيم (Code - Parnet) حديثا ، وبالتحديد قبل أسبوعين، لذلك أنا غير متمرس عليها وقد أجد صعوبة في التعامل معها عند إضافة العناوين والطريقة التي اتبعتها في الترقيم الفرعي (code) هي الترقيم المتسلسل لكل مستوى * فعناوين المستوى الأول أرقام (code) فيها تبدأ من (1) إلى (100) * الثاني من (100) إلى (999) * الثالث من (1000) إلى (9999) * الرابع من (10000) وعند إضافة عنوان يتم إضافة الرقم التالي لآخر رقم حسب المستوى باستخدام (Dmax) وعندها تصبح الأرقام غير متسلسلة، وترتيبها في الشجرة لن يكون بالشكل المطلوب وكمثال على ذلك أضفت عنوانين عنوان (جديد2) في المستوى الثاني ، و (جديد3) في المستوى الثالث، وترتيبها كما في الصورة: وهي تظهر في الشجرة هكذا وجربت أن أغير الترتيب في الكود إلى rst.Sort = "LVLno,TNO" ولا أدري إن كان تصرفا صحيحاً أم لا .. لكن ترتيب العنوانين المضافين أصبح في الموضع الصحيح لأن ترتيب (TNO) يبقى متسلسلا بعد الإضافة والنقل ولا أدري أيضا إن كانت هذه هي الطريقة الصحيحة لترقيم حقلي (Code - Parnet) وها هناك طريقة أفضل خاصة عند الإضافة والحذف والنقل لكن هذا الذي أعرفه لحد الآن ومرفق الملف مع أكواد الإضافة بآخر تحديثاتها وأنا جهزت هالمشاركة قبل هذا التحديث 😀 .. فما هو مجال تأثير هذه الخاصية أخي الكريم جزاك الله خيرا أخي الكريم .. شجرة جميلة .. ولكني أحتاج للتجربة لمعرفة هل هناك تعديلات مهمة مطلوبة أم لا MZ_SUB 09.rar
×
×
  • اضف...

Important Information