-
Posts
384 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو nssj
-
تمام أخي الكريم الترتيب صار مزبوط ولكن هل بالإمكان أن يكون الترتيب بناء على (TNO) بغض النظر عن أرقام (parnet) و (code) فقد يكون أسلم بالنسبة لي عند التعديل بالحذف والإضافة على العناوين لأني ضامن أنه سيبقى على التسلسل المطلوب وكيف يمكن أن يكون العرض في البداية كما في هذه الصورة .. حاولت بجعل الخيارات كما في الملفات السابقة التي أرفقتها بس ما زبطت ومرفق الملف بعد تصحيح الأرقام واعذورني لبضع ساعات فسأكون خارج التغطية 😀 MZ_SUB 06.rar
-
استفسار بخصوص هذه الطريقة .. ألا يمكن الاستغناء عن ظهور الأرقام في الشجرة أم أنها ضرورية لترتيب العناوين ؟
-
فعلا أخي الكريم .. السطر المذكور كان سبب البطء والآن أصبح سريعا، بل أسرع من الكود الذي استخدمته، حتى أنني جربته على ملف قديم كان عدد العناوين فيه (8080) حيث كنت جعلت لكل رقم آية في التفسير عنواناً مستقلاً، ثم عدلت عن ذلك، لكنه مع ذلك أصبح يفتح أسرع من الملفات السابقة المرفقة مع أن عدد العناوين فيها أقل بمقدار الربع وأحسنت أخي الكريم بوضع حقل للأخطاء، فقد عالجتها بحمد الله وهذه الأخطاء لأنني لم أجري التجارب الكافية على هذه الطريقة وأنا بحاجة لبعض الوقت للتمرس على هذه الطريقة في الترقيم إذا كان رأي أهل الخبرة أنها أفضل ولكن يوجد خلل في ترتيب عرض الموضوعات الرئيسية فهي كما في الصورة: والترتيب الصحيح وإذا كان يمكن معالجة هذا الأمر فقد تكون هذه الطريقة أفضل لسرعتها، ولأنه يمكن استدعاء الأحاديث المرتبطة بالموضوع دون الحاجة لإظهار (TNO) في شجرة العناوين وبانتظار رأي الأخ الكريم rockjone33 ومناسبة هذه الطريقة لطبيعة عمله أنا بانتظار إرشادات الإخوة الكرام ونصائحهم 🙂
-
أي قائمة تقصد أخي الكريم ؟ وهل يمكن عرض الشجرة من اليمين إلى اليسار كما في ملفي المرفق أين هذا الموضوع ؟
-
شكراً على النصيحة أخي الكريم .. وأنا كنت أستخدم (2019) وكنت مبسوط عليه .. لكن حصلت معي سابقا مشاكل في تطبيق بعض الأكواد وأخذت أحذف وأحمل أكثر من إصدار .. والنتيجة: لم يعد يشتغل معي (2019) ؟؟؟ .. على كل حال أنا أفكر بعمل فورمات للجهاز قريبا وعندها سأعود له وأنا أتوه عند استخدام المصطلحات الإنجليزية وإن كانت بسيطة 🙂 .. لذلك لم أفهم مقصدك أخي الكريم بخصوص الأب والابن لهذه الطريقة 🙂، فأنا اختصرت الحديث عنها بسبب البطء عند فتح النموذج، كما أن هذه الطريقة تستدعي إضافة حقلين لجدول الموضوعات (TAB_Subject)، حقل للأب (NO1) وحقل للابن (NO2)، وأنا فضلت الإبقاء على المستويات الأربعة (LVL1 – LVL2 .. ..) لأنها الطريقة القديمة التي مشيت عليها وجربتها في الحذف والإضافة والتعديل وعرض القوائم بلا مشاكل وأرفقت لك الملف التجريبي الذي فيه طريقة العرض بالاعتماد على هذا الكود MZ_SUB 03.rar
-
نعم .. في العناوين الفرعية .. وأشرت إلى ذلك في مشاركة سابقة، لذلك في الملف المرفق طلبت الأحاديث باستعمال (TNO) لأنه لا يتكرر فهو أفضل من معالجة تكرار الأسماء في هذه المرحلة
-
وأنا كمان ما اشتغلت عندي الملفات اللي نزلتها من النت .. مع إني أضفت المكتبة المطلوبة لأكسس .. وبعد البحث والتنقيب لقيت صفحة بالانجليزي فهمت منها إنو صعب تظهر شجرة العناوين في أوفس 2013 (64) بت .. وهي النسخة اللي عندي فنزلت أوفس (2021) واشتغلت تمام .. بس معنديش مفتاح تفعيل لها النسخة ومش عارف شو آخرتها 🤔 أنا مش اعتراضي على هالكود .. أنا سؤالي إذا كان بالإمكان إحضار (TNO) أو (ID) للموضوع اللي يتم الكبس عليه دون الحاجة لإظهار (TNO) في الشجرة .. لأني بفضل الشجرة بدون أرقام يعني هل ممكن إحضاره من مصدر بيانات الشجرة اللي في الكود Sqltext1 = "SELECT [TAB_Subject].[LVL1], [TAB_Subject].[sname] FROM TAB_Subject where ([TAB_Subject].[lvlno] = 1) GROUP BY [TAB_Subject].[LVL1], [TAB_Subject].[sname]" Sqltext2 = "SELECT [TAB_Subject].[LVL1], [TAB_Subject].[LVL2], [TAB_Subject].[sname], [TAB_Subject].[TNO] FROM TAB_Subject where ([TAB_Subject].[lvlno] = 2) GROUP BY [TAB_Subject].[LVL1], [TAB_Subject].[LVL2], [TAB_Subject].[sname], [TAB_Subject].[TNO]" Sqltext3 = "SELECT [TAB_Subject].[LVL2], [TAB_Subject].[LVL3], [TAB_Subject].[sname], [TAB_Subject].[TNO] FROM TAB_Subject where ([TAB_Subject].[lvlno] = 3) GROUP BY [TAB_Subject].[LVL2], [TAB_Subject].[LVL3], [TAB_Subject].[sname], [TAB_Subject].[TNO]" أخي الكريم .. معلش مش فاهم قصدك لأني مش مبرمج .. أنا بس بحب التجارب 😁 .. فإذا تكرمت تراعي وضعي الصعب وتعتبر حالك بتشرح لطالب رابع ابتدائي 🙂
-
معذرة أخي الكريم .. تأخر الرد لأني أردت أن أضع في الرد آخر ما توصلت إليه تجاربي وإذا كانت شجرة العناوين سيكون إخراجها كما في الصورة التي أرفقتها فستكون شجرة جميلة 🙂 ولكن ما الذي تقصده أخي الكريم من إرفاق رموز في الشجرة وما الغاية منها ؟ * واعذرني أخر الكريم لم أفهم قصدك في الفقرة 4 هذا وأحب أن أذكر أني جربت عمل شجرة عناوين بناء على كود آخر وجدته على النت Dim dbs As Database, rst As Recordset Dim nodX As Node Set dbs = CurrentDb Set rst = dbs.OpenRecordset("TAB_Subject", dbOpenDynaset) ' Set rst = dbs.OpenRecordset("SELECT * FROM TAB_Subject ORDER BY TAB_Subject.Tno;") Set nodX = TreeView6.Nodes.Add(, , "A", "الموضوعات") With rst Do While Not .EOF Set nodX = TreeView6.Nodes.Add("A" & CStr(Nz(!NO1)), tvwChild, "A" & CStr(!NO2), CStr(!NO2) & ":" & !Sname) nodX.EnsureVisible .MoveNext Loop End With ونجحت في ذلك، لكن النموذج كان يأخذ وقتا طويلا ليفتح لأن العناوين عندي كثيرة (1872) ولا تزال في طور التحديث، ومن المؤكد عندي أنه سيزيد عددها عن (2000) أما بالكود المرفق فهو يفتح بسرعة أما آخر ما توصلت إليه، فقد وقفت اليوم على هذا الموضوع تعديل على الشجرة TreeView وبناء عليه استطعت عرض أحاديث الموضوع بعدة خطوات 1- جعلت رقم (TNO) يظهر في الشجرة - مع أن ظهوره غير مطلوب- بتغيير بعض الأسطر في الكود مثل Level2Node.Text = Myset2!Sname إلى Level2Node.Text = Myset2!TNO & Myset2!Sname 2- تصدير هذه القيمة إلى مربع نص Me.LVL0 = Node.Text 3- حذف الأحرف والمسافات في مربع آخر (LVL000) 4- والآن أصبح لدي المرجع الذي بناء عليه سوف تستدعى الأحاديث من خلال Me.Recordset.FindFirst "TNO=" & Me.LVL000 & "" واستخدمت رقم (TNO) وليس اسم الموضوع (Sname) لوجود أسماء متكررة في العناوين مثل: متفرقات – أبواب متفرقة – فضلها وما جاء فيها .. هذا أفضل ما استطعت الوصول إليه .. ولكن ألا توجد طريقة أخرى مباشرة لاستدعاء رقم (TNO) أو (ID) MZ_SUB 02.rar
-
الإخوة الكرام .. الجدول الرئيسي (TAB) مكون من أحاديث وهي مرتبة على المسانيد وأريد أن أبدأ بترتيبها على الموضوعات وقائمة الموضوعات بمستوياتها الأربعة (LVL1 – LVL2 – LVL3 – LVL4) في جدول (TAB_Subject) وقد صممته قبل فترة بناء على نصيحة أحد الإخوة ، ويمكن التعديل والإضافة والنقل في شجرة العناوين بلا مشاكل وفي نموذج (FRM7) تم عرض هذه العناوين على شكل قوائم مع إظهار أحاديثها وحديثاً اطلعت على عدة مواضيع بخصوص شجرة الحسابات وما يشبهها، منها هذا الموضوع في هذا الملتقى شجرة الحسابات وبناء على الملف الذي رفعه الأخ @jjafferr وبعد عدة تجارب تمكنت من عمل شجرة عناوين في نموذج (TREE)، لكن توجد مشكلتان * المشكلة الأولى والأهم: هي عدم عرض الأحاديث عند تحديد الموضوع، فبالمقارنة مع الصورة السابقة حيث كانت العناوين على شكل قوائم، فالنتيجة التي توصلت إليها في شجرة العناوين (TREE) هي كما في الصورة .. لم يتم عرض الأحاديث فأين الخطأ *المشكلة الثانية: وهي أنه عندما قمت بالتعديل على جدول العناوين (TAB_Subject) بحذف بعض العناوين ونقل أخرى حصل خلل في ترتيب شجرة العناوين كما في الصورة والترتيب الصحيح هو كما في نموذج (FRM7) والسبب أنه في هذا الأخير فإن ترتيب عرض العناوين يكون بناء على (TNO)، لأن هذا الرقم يبقى على التسلسل الصحيح مهما أجري على العناوين من تعديلات، بخلاف ترقيم المستويات (LVL1 .. .. ..) فلابد من تصحيحه ليعود للتسلسل أما في شجرة العناوين (TREE) فلم أتمكن من جعل الترتيب بناء على (TNO) مع أني حاولت استخدام (order by [TAB_Subject.TNO]) فهل يمكن أن يكون الترتيب فيها بناء على (TNO) فهو أيسر من إعادة تسلسل ترتيب المستويات في كل مرة يحدث فيها تعديل MZ_SUB 01.rar
-
الجدول الذي اعتمدت عليه (TR) ليس فارغا .. فيه أرقام الأحاديث المطلوب تكرارها مع أرقام الأحاديث المطلوب أن تتكرر بعدها .. فلعلك تتكلم عن طريقة أخرى أو أنني لم أفهم قصدك أخي الكريم لكن بالنظر لكوني اعتمدت فقط على تكرار التجارب مع عدم فهمي للاستعلامات التي اعتمدت عليها .. فكنت أتخوف من وجود أخطاء لم أنتبه لها قد تكون لها آثار سلبية لم أحسب حسابها
-
للأسف أخي الكريم .. لا يوجد وقت بالنظر لكبر حجم الجدول من الصعب تغيير المفتاح الأساسي .. فالعلاقات كثيرة وقائمة عليه لم أفهم قصدك أخي الكريم .. وعلى كل حال .. فلا أزال أجري التجارب وحصل تقدم بحمد الله، وأرجو أن أكون أسير في الطريق الصحيح وأن لا تكون تجاربي في واد والحل في واد 😅 والتجارب كلها على النموذج المستمر (Tab) لأنه هو المطلوب فعدلت على استعلام مصدر البيانات، وجعلت مصدر بيانات مربع النص =IIf([MK]=-1,[TAB_1.NASS],[TAB.NASS]) ثم جربت طريقة أخرى، استخدمت استعلام توحيد (Q2) ومربع النص منضم يأخذ بياناته من حقل النص مباشرة، والنتيجة في نموذج (1Tab) والنتيجة جيدة في الحالتين حتى بعد تغيير ترتيب الأحاديث مع ملاحظة أنه - وفي الحالتين أيضا - لا يمكن التغيير والتعديل على النص وما توصلت إليه مبني على تكرار التجارب فقط، وإلا فمعلوماتي في الاستعلامات قليلة، وكنت أغير خيارات وحقول الاستعلام وأنا لا أعرف ما تعنيه هذه الخيارات 🙄 لذلك أنا أنتظر رأي أهل الخبرة قبل أن أعتمد إحدى الطريقتين فما هي الطريقة الأفضل والأسلم والأكثر سلاسة في الجداول الكبيرة أم هناك طريقة أفضل MK2.accdb
-
للتذكير حاولت أن أوضح المطلوب قدر الإمكان .. فإن كان في الموضوع أمر لا زال بحاجة للتوضيح فأرجو الإشارة إليه
-
بداية .. لا أدري إن كان عنوان الموضوع يوحي بالمطلوب، لكن الموضوع يصعب التعبير عنه ببعض الكلمات .. وسأحاول الشرح والتفصيل قدر الإمكان عندي جدول فيه أحاديث مرتبة على المسانيد وكل مسند على الموضوعات وتأتي أحاديث يستدعي موضوعها وضعه في أكثر من مكان، فموضعه الأصلي مثلاً في الصلاة، ولكن فيه ما يقتضي ذكره في الأدب مثلا، ولا يمكن تكرار الحديث في الجدول لأن كل حديث له رقم أساسي لا يقبل التكرار، فالمطلوب تكراره في النموذج من حيث الصورة والشكل، وإلا فهو في الجدول في موضع واحد وعندما كانت ملفاتي على برنامج وورد كنت أضع إحالة بعد الحديث تنبه إلى وجود حديث متعلق بهذا الموضوع لكنه في مكان آخر من الجدول، كما في هذه الصورة: أما في نموذج أكسس فالمطلوب أن يأتي هذا الحديث المحال إليه بعد هذا الحديث الأصل، مع بقائه في موضعه الأصلي، يعني أنه مكرر صورة وشكلا فقط، لأن تكرار مثل هذه الأحاديث في عدة مواضع مفيد عند الاستعراض فهل هذا الأمر ممكن؟ سألت هذا السؤال لأحد الإخوة المبرمجين فقال نعم ممكن، والمطلوب عمل جدول خاص لهذا الأمر فيه أرقام الأحاديث المحال إليها وأرقام الأحاديث التي من المفترض أن تظهر بعدها والآن انقطع الاتصال بيني وبين الأخ المبرمج قبل أن أعرف كيف أطبق هذا الأمر وحاولت عدة محاولات، وحققت بعض النجاح ولا أدري أصلاً إن كانت الطريقة التي اتبعتها هي الطريقة الصحيحة .. لكني أحب دائما أن أحاول وأجرب قبل أن أسأل وهذه صورة الجدول الذي فيه أرقام الأحاديث المكررة (MNO_A) رقم الحديث الأصل وهو الحديث المطلوب أن يأتي بعده الحديث المحال إليه (MNO_X) رقم الحديث المحال إليه أو المكرر شكلاً وصورة (MK) مربع لتمييز الأحاديث المكررة لاستخدامه عند التنسيق الشرطي وغير ذلك إن لزم الأمر (TR_no) لترتيب الأحاديث المكررة إذا كان يوجد أكثر من حديث مكرر بعد نفس الحديث * مع التنبيه إلى أنه في الجدول الرئيسي (TAB) يوجد رقمان (MNO) هو المفتاح الرئيسي (TNO) هو لترتيب الأحاديث ولا ترابط بينهما، فرقم الترتيب (TNO) يتغير باستمرار عند إضافة الأحاديث الجديدة أو النقل، ومهما تغير الترتيب فيبقى (MNO) لكل حديث ثابتا لذلك فالمطلوب أن ترتبط الأحاديث المحال عليها بالحديث الأصل عبر (MNO) لأنه ثابت ولا يتغير وهذا من الأمور التي نجحت فيها في محاولاتي، وحتى بعد استخدام كود الإضافة وأكواد التنقل وإعادة الترقيم لمرات عديدة ، فالأحاديث المحال إليها تتبع الحديث الأصل مهما تغير رقم ترتيبه * لكن من المشاكل التي واجهتني هي إظهار نص الحديث المطلوب في الحديث المكرر أو المحال إليه، فكان يظهر نص الحديث الأصل وجربت أن أجعل مربع النص (غير منضم) ويأخذ بيانته بالكود فكانت النتيجة جيدة في النموذج المفرد (Tab2) أما في النموذج المستمر (Tab) –وهو الأهم لهذا الغرض - فلم تنجح المحاولة ولا زالت توجد مشكلة في إظهار النص المطلوب، كما في هذه الصورة والمطلوب أن يظهر النص كما في هذه الصورة، وهي من نموذج (TabX) تم تعبئته يدويا لتظهر الأحاديث المكررة في المواضع المطلوبة هذه أكبر مشكلة واجهتني .. ولا حاجة لذكر بقية المشاكل ، فقد تكون محاولاتي في واد والحل الصحيح في واد آخر 😅 فما هي أفضل طريقة للحصول على المطلوب هذا، وأرجو بعد كل هذه الإطالة أن أكون قد أوضحت المطلوب MK.rar
-
أحسن الله إليك أخي الكريم جعفر .. تم المطلوب بحمد الله وشكراً على هذه النصيحة الذهبية التي أفرحتني وأربكتني أفرحتني لأن الخطأ الذي لم أكتشفه لم يكن ظاهراً - كما يحدث معي كثيراً 😐 - ولكنه كان لا محل له من الإعراب 😁 وأربكتني لأنها راح تلخبط حساباتي ومخططاتي .. لأنها كلها كانت مبنية على أن أسماء الجداول أرقام لسهولة فرزها واستدعائها، ولسهولة التعامل مع الأرقام من حيث معرفة رقم آخر جدول وإضافة رقم عليه للجدول الجديد باستخدام (DMax) .. لكن سأحاول التعامل مع الأمر وبانتظار المزيد من النصائح الذهبية أخي الكريم 🙂
-
الإخوة الكرام .. في الملف المرفق كود لإضافة جدول فيه حقلان من نوع (نعم/لا) DoCmd.RunSQL "CREATE TABLE .. .. .. .. .. ,Mult_mno yesno,NO_hno yesno والمشكلة أنهما يظهران على شكل (مربع نص) والمطلوب أن يكونا على شكل (خانة اختيار)، مع قيمة افتراضية (لا)، وذلك من خلال الكود نفسه دون الحاجة لفتح الجدول في وضع التصميم وتعديله هناك هل هذا ممكن ؟ YesNo.accdb
-
لماذا تظهر هذه الرسالة في هذا الكود (كود لإنشاء جدول جديد)
nssj replied to nssj's topic in قسم الأكسيس Access
شراً للأخوين الكريمين Barna Moosak ولكن من المخجل القول بأن سبب الحيص بيص الذي وقعت فيه هو خطأ واضح في الكود 🙄، وهو أنني نسيت جملة (Exit Sub) قبل (ERR:) والكود بشكله الصحيح واكتشفت هذا الخطأ وأنا أجري التجارب لاختراع كود جديد 😀 وأعتذر للإخوة الكرام على إزعاجهم بسبب هذا الخطأ البدائي 😐 -
أحسن الله إليك اخي الكريم Moosak .. تم المطلوب بحمد الله وهذه من فوائد عدم الابتعاد عن الجهاز 😅
-
لماذا تظهر هذه الرسالة في هذا الكود (كود لإنشاء جدول جديد)
nssj replied to nssj's topic in قسم الأكسيس Access
تمام .. راحت الرسالة 🙂 ولكن أخي الكريم للاستفادة اسمح لي ببعض الاستفسارات: هذه السطر أستخدمه كثيرا في أكواد أخرى وبطريقة مشابهة لما في هذا الكود، ولم أجابه هذه المشكلة إلا هنا .. هل يوجد خطأ آخر في الكود يتسبب بهذه المشكلة ؟ وهل يؤثر حذفه على الكود إذا كانت هناك أخطاء أخرى عند التنفيذ ؟ -
الإخوة الكرام .. في الملف المرفق كود لإنشاء جدول مع استيراد بعض بياناته من جدول آخر .. والكود يعمل بشكل جيد بحمد الله .. لكن بعد الانتهاء تخرج هذه الرسالة وهي تخرج فقط عند نجاح العملية .. أما عند وجود أخطاء فلا تخرج ADDBOOK.accdb
-
-
تمام أخي الكريم Moosak لم تعد هنا إشكالية بخصوص البحث عن أول فقرة بعد "عن" وبقيت إشكالية ما إذا كان النص يبدأ أصلاً "بعن" فلا يظهر في النص المختصر شيء والحل الذي فكرت فيه هو القيام بالاختصار على عدة خطوات أولاً إضافة مربع نص جديد، يكون مصدره النص القديم مع إضافة أي حرف في بدايته، وليكن ($) من خلال دالة =("$"+[Text1]) ثم تطبيق كود الاختصار عليه هذا اللي عندي حسب معلوماتي المتواضعة .. فهل عندك حل آخر أكثر احترافية أخي الكريم 😁 وشكراً لك أخي الكريم rockjone33 لكن كلامك صعب علي أن أستوعبه .. لأني أصلاً عندي ضعف في هذه الدوال واستيعاب طريقة عملها .. كل ما أجيده هو القص واللصق بين الأكواد السهلة والمتوسطة على أحسن تقدير 😁
-
أخي الكريم .. هذا غير وارد بالنظر لكبر حجم الجدول وتكرار كلمة عن .. لذلك انا بحاجة للقيام بالعملية برمجيا 🙂
-
في الملف المرفق محاولة لتوضيح المطلوب، حيث توجد ثلاث مربعات نص في مربع النص الأول يظهر النص المطلوب وقد اختصرته يدويا وفي الثاني النص الناتج عن الدالة التي تفضل بها الأخ Moosak .. وفي أول حديثين النتيجة موافقة للنص المطلوب، وفي الباقي تظهر الإشكاليات وأهمها أن الدالة تقف عند أول نقطة "." والمطلوب أن تقف عند نهاية الفقرة وجربت أن أستبدل "." بـ [chr(13) // chr(10) // chr(13)+chr(10)] والنتيجة في المربع الثالث فما هي الصيغة التي تؤدي المطلوب Short text 3.accdb