-
Posts
378 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو nssj
-
وأنا كمان ما اشتغلت عندي الملفات اللي نزلتها من النت .. مع إني أضفت المكتبة المطلوبة لأكسس .. وبعد البحث والتنقيب لقيت صفحة بالانجليزي فهمت منها إنو صعب تظهر شجرة العناوين في أوفس 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
-
الأخ الكريم Moosak الحل الذي اقترحته قام بجزء كبير من المطلوب، لكن توجد ملاحظتان: 1 – إذا كان النص يبدأ أصلا بكلمة (عن) فالنتيجة صفحة خالية من أي نص، انظر عند التطبيق رقم (4) وهذه الملاحظة يمكن تجاوزها مؤقتاً لأن الجدول المطلوب التطبيق عليه حاليا أنا متأكد أن جميع نصوصه لا تبدأ بعن، لكن إن أمكن حل هذه الإشكالية فهو أفضل عند التطبيق على جداول أخرى 2 – هذه الطريقة تبقى على النص إلى أول نقطة ، كما جاء في الكود "." ، والمطلوب أول فقرة بمعنى سطر جديد، فقد يأتي في النص نقطة قبل نهاية الفقرة .. وأيضاً لا يشترط أن تكون نهاية الفقرة نقطة، فقد تكون فاصلة وقد لا يوجد في النص ولا نقطة كما في رقم (15) وعندها تكون النتيجة (#دالة!) وجربت أن أستبدل "." بـ (chr(13)) وما زبطت .. Short text 2.accdb
-
الإخوة الكرام .. هل يمكن عمل كود يقوم باختصار النص وفق ضوابط محددة. والاختصار المطلوب عبارة عن خطوتين: أولا: حذف كل شيء في بداية النص إلى أول كلمة (عن) وهذا يعني أنه إذا كان النص يبدأ أصلاً بـ (عن) فيتم تجاوز هذه الخطوة ثانيا: وبعد الخطوة السابقة يحذف الكود كل ما بعد أول فقرة، بحيث لا يبقى في النص إلا الفقرة الأولى فقط. يعني إذا كان النص هكذا: يصبح هكذا: وفي الملف المرفق جدولان: الأول (TAB) وهو المطلوب اختصاره، وقد قمت باختصاره يدويا في الجدول الثاني (TAB2) ليتضح المطلوب Short text.accdb
-
مساعدة في كود لقص النص المحدد ووضعه في الصفحة التالية أو السابقة
nssj replied to nssj's topic in قسم الأكسيس Access
جربت الملفات على جهازين غير جهازي، واحد منهم نفس الوندوز (10) لكن أوفس (2010) والثاني وندوز (7) وأوفس (2010) والنتيجة أحسن بخصوص الملف الأول في مشاركتك الأولى (Book2) لم تظهر الحروف (v) (c) في الجهازين وكان يظهر الكلام المطلوب قصه .. لكن نفس الملاحظة بخصوص تأثر مفتاح (NumLock) أما الملفات اللي بعده فالنتيجة نفسها .. ظهرت الرسالتين في الجهازين .. وأيضاً لما طبقت اقتراح الأخ ابو البشر النتيجة نفسها على كل الأجهزة: ما في مشكلة بالقص واللصق .. القضية بتأثر مفتاح (NumLock) وإن الكود يعمل حتى لو لم يتم تحديد أي شيء -
مساعدة في كود لقص النص المحدد ووضعه في الصفحة التالية أو السابقة
nssj replied to nssj's topic in قسم الأكسيس Access
أصبح الآن يعمل لكن كما كان الأمر أول مرة .. يعمل حتى لو لم يتم تحديد شيء، وأيضاً لا زال مفتاح (Num Lock) يتغير أحيانا مع الكود .. وبعد مرور بعض الوقت برنامج الأكسس يتوقف ولا بد من إجباره على الإغلاق وإعادة تشغيله -
مساعدة في كود لقص النص المحدد ووضعه في الصفحة التالية أو السابقة
nssj replied to nssj's topic in قسم الأكسيس Access
-
مساعدة في كود لقص النص المحدد ووضعه في الصفحة التالية أو السابقة
nssj replied to nssj's topic in قسم الأكسيس Access
الآن أصبحت تظهر هذه الرسالة .. واعذروني أيها الإخوة الكرام .. الكود معقد بالنسبة لمبتدئ مثلي ومن الصعب علي معالجة هذه المشاكل بنفسي 😐