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

nssj

03 عضو مميز
  • Posts

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

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

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

  1. قمت بذلك والأمر يتم بسلاسة والحمد لله .. فجزاك الله خيرا أخي الكريم .. لا أريد أن أتدخل في هندسة البيانات أو في طريقة عمل البرنامج .. المهم الحصول على المطلوب لكن أحد الأمور المطلوبة والمهمة عندي هو حفظ هذه المعلومات في جداول الكتب، لأن هذه المعلومات بالنسبة لي هي كرقم الحديث أو كالجزء والصفحة، بل ليس من المبالغة أن أقول كالنص، هي جزء لا يتجزأ من كل كتاب، فينبغي أن تبقى في جداول الكتب .. ليس من باب (هندسة البيانات) أو (قواعد البرمجة) بل من باب (طبيعة العمل الذي أقوم به) لذلك كررت أكثر من مرة (ما هو المطلوب للوصول لهذه النتيجة) لأني لا أزال في مرحلة تصميم الجداول وأستطيع تغيير التصميم حسب ما يلزم .. كل الملفات التي عندي للتجارب فقط .. وملفاتي الأصلية لا تزال على الوورد لذلك أنا أسير معك أخي الكريم بخطوة بخطوة بصفتك خبير بقواعد البيانات .. لكن في نهاية المطاف وبعد الانتهاء من المطلوب -بعون الله- حسب ما تقتضيه (هندسة البيانات) .. .. لابد -أخي الكريم- من العودة لهذا المطلب (نقل التغييرات لحقل MNO) ولو عبر كود معاكس للكود الذي تفضلت به بداية، ينقل المعلومات من الجدول الوسيط لهذا الحقل، ونبحث عندها ما هو المطلوب للوصول لهذه النتيجة .. لأنها مهمة بالنسبة لي
  2. أخي الكريم .. لا مشكلة في التعديل الذي أضفته في جداول الكتب وقد جربت التعديل على رقم الارتباط بالشاشة التي تفضلت بها .. وتم التغيير بسلاسة .. ولكن لم يحفظ التعديل في حقل (MNO) الذي جداول الكتب لذلك عندما شغلت كود (إجراء دمج المراجع) حصل الخلل لأن الجدول الوسيط أخذ المعلومات القديمة الموجودة في حقل (MNO) فما هو المطلوب لكي يتم حفظ التغييرات في حقل (MNO) في جداول الكتب
  3. أخي الكريم .. هل لك أن تقوم بإجراء التعديل بالطريقة التي تراها مناسبة لكي أفهم قصدك بالضبط .. إجمالا إذا كانت العملية تقتضي إضافة حقل أو حقول لجداول الكتب فلا مشكلة عندي .. ولا مشكلة عندي أيضا إن اقتضى الأمر إنشاء جدول آخر بخصائص ومواصفات خاصة .. بل لا مشكلة عندي إن اقتضت الضرورة إضافة حقل أو أكثر في الجدول الرئيسي (TAB) لهذا الغرض .. فلا أزال في سعة من أمري من جيث تصميم وإضافة الجداول المهم الوصول للنتيجة المطلوبة إن أمكن: أن تحفظ التعديلات في حقل (MNO) الذي في جداول الكتب وأن يبقى هو المستودع الرئيسي للبيانات
  4. أخي الكريم شكرا على الإفادة .. مع أنني لم أستوعب جميع كلامك أخي الكريم ما تعني بقواك (التخلي عن الاعتماد على رقم التخريج في جداول المراجع) مع أن إدراج رقم المرجع قد تم فيها - لا مشكلة أن يكون الاعتماد على الجدول الوسيط لتسجيل التعديلات والتغييرات، ولا مشكلة عندي في طريقة إجراء هذا التعديل وفي أي جدول يكون، ولا يهم إن كان يتطلب أكثر من خطوة المهم بالنسبة لي .. أنه بعد إنهاء جميع الخطوات وحفظ التعديلات في الجدول الوسيط أو أي مكان آخر.. تحفظ الأرقام المعدلة في حقل (MNO) الموحد في جداول الكتب .. لا يكفي فقط أن يتم تعديلها في الجدول الوسيط .. ينبغي أن يبقى هذا الحقل (MNO) هو المستودع الرئيسي لهذه الأرقام وللتوضيح أكثر .. فلا مشكلة عندي أن يكون حفظ التعديلات وإجراؤها في الجدول الوسيط بعيدا عن هذا الحقل (MNO)، ثم استخدام كود منفصل لنقل هذه التعديلات لحقل (MNO) .. المهم ألا يكون هناك أي فرق في البيانات والأرقام بين هذا الحقل (MNO) وبين الجدول الوسيط، التعديل الذي يتم هنا يتم هناك .. ثم أخي الكريم .. إن الكود الذي تفضلت به (دمج المراجع) يأخذ البيانات بداية من حقل (MNO) الموحد ويفرغها في الجدول الوسيط، فإذا كانت التغييرات والتعديلات لا تنقل إليه فسوف يحدث خلل عند استخدامه مرة أخرى .. لذلك أنا بفهمي المتواضع حريص أن يبقى هذا الحقل هو المستودع الرئيسي لأرقام الربط وأصدقك القول .. من البداية وأنا أشعر (بالقلق) من هذا الأمر، لاحتواء هذا الحقل على رموز وأرقام وليس أرقاما فقط، بل وأكثر من رقم في خانة واحدة .. فكيف سيميز البرنامج بين هذا الرقم وبين غيره وهما في خانة واحدة، ليقوم بتعديل هذا والإبقاء على ذاك .. ولكن قلت لعل أهل الخبرة يجدون حلاً
  5. أخي الكريم .. على الرغم من أني لست من أهل الاختصاص ولكن عندي فضول شديد لمعرفة أين الخطأ الذي عالجته 😐 .. هل هو في الوحدة النمطية أم في موضع آخر وجزاك الله خيرا أخي الكريم .. تم الشق الأول من المطلوب، وقد أضفت كتابا جديدا آخر وأحاديث جديدة أخرى وأجريت التجارب، والنتيجة بحمد الله جيدة والحاصل إلى الآن: الوحدة النمطية التي تفضلت بها تقوم بكل العمل كما سبق، مهما أضفتُ من كتب جديدة أو أحاديث جديدة للجدول الرئيسي. ولا مشكلة في وجود رموز أو في تعدد الأرقام في الخانة الواحدة في حقل (MNO) في ملفات الكتب، تستطيع الوحدة النمطية تجاهل الرموز واستخراج الأرقام المتعددة ما دام كل رقم في سطر جديد وهو المطلوب بحمد الله .. فجزاك الله خيرا أخي الكريم وأحسن إليك الآن الشق الثاني من المطلوب: التعديل على هذه الأرقام عند الحاجة واكتشاف خطأ، كما ذكرت في آخر المشاركة الأولى فما هي الطريقة المناسبة لهذا الإجراء، بحيث يحفظ هذا التعديل في حقل (MNO) الموجود في ملفات الكتب. ذلك أني حريص أن يبقى هذا الحقل المشار إليه هو (المستودع الرئيسي) لهذه الأرقام والرموز فهل هذا ممكن بطريقة أو بأخرى على الرغم من الملاحظة التي تفضل بها الأخ (Eng.Qassim) من كون نوع البيانات غير موحد وتصوري المتواضع لعملية التعديل على أرقام الارتباط، يبدأ بتحديد الحديث المطلوب تعديل ارتباطه، ثم طلب كود وشاشة التعديل MusndWZwayid 10.accdb
  6. شكرا لك أخي الكريم أبو إبراهيم الغامدي .. محاولتك بداية جيدة بعون الله الذي فهمته أن الوحدة النمطية التي تفضلت بها تقوم بالعمل كله، بداية من تفريغ المعلومات من عمود (MNO) الموجود في جداول الكتب في الجدول الوسيط الجديد، ثم عرض الكتب مع نصوصها في أماكنها في الجدول الرئيسي وقد جربت أن أضيف كتابا جديدا (60012) وجربت الكود فكانت النتيجة المطلوبة، أضاف معلومات الكتاب الجديد بشكل صحيح. لكن .. عندما أصفت للجدول الرئيسي (TAB) أحاديث جديدة للتجربة، وأضفت لها أرقاما في جداول الكتب، لم يقم الكود بإدراجها فلا أدري ما السبب أخي الكريم .. والمحاولة في الملف المرفق MusndWZwayid 9.accdb
  7. الإخوة الكرام .. عطفا على الموضوع السابق الذي طرحته قريبا بعنوان مساعدة في إظهار حقل النص في نموذج فرعي وقام الأخ المكرم د. حسين بمساعدتي في أداء المطلوب، بقي الآن طلب سأحاول توضيجه قدر المستطاع الفكرة تقوم على أساس ربط جداول الكتب بالملف الرئيسي (TAB) عبر المفتاح الأساسي (MNO) بحيث تظهر في نموذج خاص كتخريج للحديث الرئيسي يعني أن هذا الحديث من الملف الرئيسي (TAB) موجود في هذه الكتب، مع ذكر اسم كل كتاب ورقم الحديث فيه ونص كل حديث من جدوله وتظهر هذه النتائج بناء على الجدول الوسيط (TAB_Books_X) وهذا ما تم الوصول إليه بمساعدة الأخ المكرم فجزاه الله خيرا والآن .. المطلوب الوصول لهذا الجدول الوسيط (TAB_Books_X) تلقائيا من جداول الكتب، وليس تعبئته يدويا كما فعلت أنا، مع إمكانية تحديثه تلقائيا أيضا عند إضافة جداول كتب أخرى وكل جداول الكتب تصميمها واحد، وحقل الربط بينه وبين الجدول الوسيط اسمه (MNO) ومطلوب تفريغ ما فيه من أرقام فقط في حقل (MNO) في الجدول الوسيط (TAB_Books_X) ذلك أن حقل (MNO) في جداول الكتب لا يحتوي أرقاما فقط، بل يحتوي رموزا معينة لها دلاتها عندي وهي (*) (@) (&) ($) (%) فالمطلوب أداة تتجاهل هذه الرموز وتنقل الأرقام فقط إلى الجدول الوسيط وأمر آخر .. يوجد أحيانا في الخانة الواحدة أكثر من رقم، اخترت أن أفصل بين كل رقم بسطر جديد (Enter) ففي هذه الحالة ينبغي أن يكرر هذا الحديث في الجدول الوسيط حسب عدد هذه الأرقام .. كل رقم في سجل جديد، كما في الصورة: وفي الملف المرفق قمت بتعبئة حقل (MNO) في الجدول الوسيط (TAB_Books_X) يدويا لتوضيح الصورة .. والمطلوب سلمكم الله كما ذكرت سابقاً: أداة تقوم بتعبئة هذا الحقل تلقائيا مع إمكانية التحديث عند إضافة جداول كتب أخرى مع مراعاة تتالي التحديث في الجانبين .. يعني إذا أردت تغيير ارتباط الحديث التالي في الصورة من رقم (8) إلى (5) مثلاً يتغير المطلوب في الجدول الوسيط وجداول الكتب أيضاَ أرجو أن أكون قد أوضحت المطلوب MusndWZwayid 8.accdb
  8. أخي الكريم .. عدلت الكود في الاستعلام ليصبح هكذا Nz(DLookUp("[nass]",[TAB_Books_X]![BookNO],"[Hno] LIKE '*" & [TAB_Books_X]![HNO] & "*' And [Hno]=" & [TAB_Books_X]![HNO]),"-") وكانت النتيجة المطلوبة بحمد الله وللتأكد زدت كتابا جديدا للتجربة وكانت النتيجة جيدة بحمد الله .. وهذا الملف بعد التعديل لإلقاء النظرة الأخيرة من المختصين قبل الاعتماد MusndWZwayid 8.accdb
  9. أخي الكريم ..لا يزال هناك خلل في إحضار النص من الكتاب الصحيح أخي الكريم .. يبدو أن هناك تحسن .. ولكن ليس كل الأحاديث يتم إحضار نصها، انظر الصورة المرفقة للاستعلام
  10. لا تزال المشكلة قائمة أخي الكريم، وهي إجضار النص من الكتاب الصحيح في الصورة المرفقة أول حديثين هما من كتاب (ثلاثيات البخاري) ولكنه أحضر النص من كتاب (حديث أبي إسحاق)
  11. أخي الكريم .. أنا عدلت على الكود الذي تفضلت به من =DLookUp("[nass]","[20101]","[id] =" & [HNO]) فأصبح =DLookUp("[nass]","[20101]","[HNO] =" & [HNO]) وبهذا أصبح يحضر رقم الحديث المطلوب .. لكن تبقى قضية اختلاف الكتاب فالمطلوب أن يحضر النص من جدول الكتاب المذكور في حقل (BookName) وبعبارة أخرى .. أن يتغير رقم الجدول في الكود [20101] بتغير اسم الكتاب في (BookName) فإذا كان الكتاب (حديث أبي إسحاق) يحضر الحديث من جدول (50011) وإذا كان الكتاب (مجلس في الحديث) يحضر الحديث من جدول (50012) وهكذا في حالة وجود كتب أخرى .. وأسماء الكتب وأرقام جداولها من جدول (TAB_Books)
  12. شكرا لك أخي الكريم .. لكن يظهر أني لم أوضح المطلوب بشكل جيد المطلوب أكرمك الله أن يظهر النص من الكتاب الموجود في الاستعلام، ففي الصف الذي فيه: (ثلاثيات البخاري) رقم الحديث (3) يظهر نص هذا الحديث من ذلك الكتاب، من جدوله (20101) مباشرة، وليس نص الحديث من الجدول الرئيسي (TAB) وهكذا في كل حديث 🤔 😐 .. شكلو كلام دسم كثيير .. بس أخلص أشغال اليوم بحاول أستوعبوا بالليل مع إبريقين شاي 😁
  13. الإخوة الكرام في الملف المرفق جدول رئيسي (TAB) مرتبط بعدة جداول بعلاقة متعدد مع متعدد عبر جدول وسيط (TAB_Books_X) وفي النموذج (Frm7) تظهر نتيجة هذا الربط بشكل صحيح عبر الاستعلام (Q_books)، كما في الصورة ولكن المطلوب أن يظهر حقل النص بجانب رقم الحديث، أعني حقل النص الموجود في جداول الكتب .. ولم أستطع أن أطبق هذا الأمر وامر آخر .. هل يمكن أن تكون جداول الكتب في مجلد آخر على الجهاز وليس داخل قاعدة البيانات هذه .. لأنها عددها كبيير ؟؟ MusndWZwayid 7.accdb
  14. نتيجة التجارب إلى الآن .. بالطريقة الأولى تم التطبيق على الزرين الآخرين بحيث يبدأ الترقيم من الحديث الحالي أو التالي " WHERE (((" & strTableName & ".HNO)>=" & strbar & "))") وفي كود الاستدعاء Call re_Num3("b14", "HNO", str, Me.HNO) ولكن في الطريقة الثانية لم تنجح هذه الطريقة لأن استدعاء الكود يكون من نموذج آخر Call re_Num("b14", "HNO", TempVars("barna"), Forms!b14.bar) وجربت تغييره إلى .. .. .. Forms!b14.HNO) .. .. .. Forms!b14!HNO) .. .. .. Forms!b14!bar) وما زبطت .. شكلو الطريقة الأولى أسهل 😃 شكرا لك أخي الكريم .. يعني كل التجارب الفاشلة كان حلها حذف هالسطر 😂
  15. أحسن الله إليك أخي الكريم ولكن الظاهر إني تلميذ (نص شاطر) 😐 من أول ما شفت الطريقة الأولى وأنا نازل تجارب واختراعات .. مش على التطبيق على بقية الأزرار .. الحمد لله هاي زبطت معي .. 😁 بس كنت بحاول أخلي المؤشر يرجع للصفحة اللي كنت فيها وكبست فيها الزر وقدر الله إني كنت اليوم في جولة على بعض الأكواد اللي عندي وشفت إنو بعضها بعد عملية نقل السجلات وتغيير الأرقام بيرجع للمكان اللي كان فيه بواسطة استخدام (Bookmark) مش باستخدام الانتقال بالرقم لأنو الأرقام تغيرت وحاولت أطبق نفس الموال على الكود بتاعنا .. وفشلت كللللللل التجارب 😒 والآن شفت الطريقة الثانية .. ولسه هلأ بدي أبدأ تجارب عليها 🙂
  16. نعم أخي الكريم .. يبدأ الترقيم من رقم يتم إدخاله من نموذج أو صندوق رسائل
  17. بارك الله فيك أخي الكريم .. هو المطلوب مع بعض التعديلات التي اخترعتُها وزبطت .. في البداية قد يكون الخطأ مني حيث لم أوضح المقصود بشكل واضح .. المطلوب كان أن يزيد رقمين في الحديث التالي ثم يكمل الترتيب تصاعديا متسلسلا بناء على ذلك .. يعني كما في الصورة والكود أعطى الحديث التالي رقما زائدا برقمين كما هو المطلوب، لكنه كان يزيد في الأرقام التي بعده رقمين وأحيانا أكثر كما في الصورة وبعد البحث والتحري 🔍 .. وصلت للمطلوب بأن استبدلت العبارة j = j + 2 بهذه j = j + 1 فحصلت على النتيجة المطلوبة كما في الصورة الأولى فهل هذا هو التصرف السليم أخي الكريم .. أم هناك إجراء أفضل ؟؟ التعديل الثاني: بعد تجربة الكود على أحد الملفات الكبيرة التي عندي ظهر خلل في الترقيم إذ لم يكن يرقم كل الأحاديث، وظهر لي أن السبب هو وجود (ID) في الكود، بينما الملفات التي عندي كلها مرتبة على (HNO) وقد يحدث اختلاف كبير بين الترقيم في (ID) & (HNO) بسبب حذف الأحاديث وإضافتها ونقلها ولكن حصلت على المطلوب بلا مشاكل عندما جعلى الكود يعتمد الترتيب على (HNO) باستبدال هذه العبارة " WHERE (((" & strTableName & ".ID)>" & strbar & "))") بالتالية " WHERE (((" & strTableName & ".HNO)>" & strtxt & "))") ثالثا: كنت سأطلب تعديلا آخر .. وهو ما العمل إذا كنت أريد أن يبدأ الترقيم من الحديث الذي أنا فيه وليس من التالي .. وبعد التجارب حصلت على المطلوب باستبدال (>) بـ (>=) يعني النتائج إلى الآن تمام بحمد الله .. فبارك الله فيك أخي الكريم وهذا الملف المرفق بعد اختراعاتي .. لتنظر فيها يمكن تكون اختراعات مش مزبوطة .. وإذا كانت مزبوطة .. فيأتي دور التعديل الرابع 😃 وهو عند كبس زر (إعادة الترقيم) تخرج رسالة أو صندوق: ابدأ ترقيم هذا الجدول من رقم ( .. ) وبعد إدخال الرقم المطلوب البدء منه ينفذ عملية الترقيم بناء عليه وإذا تكرمت أخي الكريم بإجراء هذا التعديل فسوف أقيس عليه الأمور الأخرى: اجعل رقم هذا الحديث هو ( .. ) وأكمل الترقيم تصاعديا اجعل رقم الحديث التالي هو ( .. ) وأكمل الترقيم تصاعديا وإذا كنت تلميذ شاطر وزبطت معي فسوف يكون التعديل الأخير بإذن الله 🙂 .. وشكرا لك أخي الكريم على صبرك علي سجلات 05.rar
  18. أنا واجهتني نفس المشكلة .. على نفس الجهاز ونفس قاعدة البينات .. فجأة وأنا بشتغل بطل ولا كود يشتغل .. وبتطلع هذه الرسالة !!!!!
  19. نسيت أرفق الملف بعد التجارب سجلات 03.rar
  20. أحسن الله إليك أخي الكريم .. تم المطلوب بحمد الله والآن نأتي لبعض التعديلات إن أمكن 😁 كنت سأطلب منك أخي الكريم أمرين .. يظهر أني استطعت فعلهما .. فهل لك أن تنظر فيما فعلته وهل هو صواب أولا: كنت سأطلب إن كان بالإمكان جعل الترقيم يبدأ من رقم معين، وأجريت بعض التجارب ونجحت أحدها، فإذا أردت ان يبدأ الترقيم من رقم (5) مثلا عدلت على الكود rst!HNO = 5 + i والنتيجة كانت تمام .. ولكن هل هذا هو التصرف الصحيح في هذه الحالة ؟؟ ثانيا: كنت سأثقل عليك أيضا وأطلب تحويله لوحدة نمطية ذكية .. يعني يمكن استدعاؤها من أي نموذج .. فاستفدت من مشاركة الأخ husamwahab في موضوع استعلام لحذف سجلات من .. إلى وعدلت على الوحدة النمطية لتصبح هكذا Function re_Num(ByVal strTableName As String, ByVal strFieldName As String) Dim rst As DAO.Recordset Dim i As Long Dim RC As Long Set rst = CurrentDb.OpenRecordset("Select * From [" & strTableName & "] order by [" & strTableName & "].[" & strFieldName & "]") rst.MoveLast: rst.MoveFirst .. .. .. وفي كود الاستدعاء Call re_Num("**", "HNO") حيث ** اسم الجدول المطلوب وزبطت معي والآن .. تعديل صعب علي .. هل يمكن التعديل على هذا الكود بحيث يبدأ الترقيم من الحديث التالي إلى آخر الجدول بحيث يزداد الترقيم رقمين يعني إذا كان رقم الحديث التالي (500) يصبح (502) ويكمل الترقيم متسلسلا بناء على ذلك إلى آخر الجدول
  21. بارك الله فيك أخي الكريم .. يعمل بسرعة كبيرة بحمد الله ولكن توجد مشكلة .. في بعض الجداول ظهرت رسالة وعند الرجوع للجدول يتضح أن الترقيم يبدأ بـ (10000) أو (10000) ثم يحدث خلل في الترقيم وبعد البحث والتحري 🔍 وتكرار التجارب يظهر أن السبب وجود فارق كبير في ترقيم بعض الأحاديث .. كما في الصورة فأرجو أن يكون بالإمكان معالجة الأمر بحيث تتم عملية الترقيم بغض النظر عن الترقيم الموجود أصلا والخلل فيه والفروق التي قد تكون كبيرة في بعض الأحيان .. لأن المطلوب من الكود هو معالجة هذه المشاكل وإذا تم معالجة هذا الأمر .. فعندي بعض الاستفسارات وربما طلب بعض التعديلات إن كانت ممكنة 🙂.. حيث أن عملية إعادة الترقيم أحتاجها كثيراً في عدة جداول وقواعد بيانات، وربما أحتاج إدراجها أو طلبها خلال بعض الأكواد الأخرى .. والله الميسر
  22. شكرا لك أخي الكريم Barna تمت الإجابة على الشطر الأول .. وبقي الشطر الثاني .. وهو بخصوص إن كانت هناك صيغة أخرى تؤدي الغرض بشكل أسرع في الملفات الكبيرة
  23. الإخوة الكرام .. في الملف المرفق استعلام لإعادة ترقيم حقل (HNO) بترقيم متسلسل والمطلوب القيام بهذه العملية من خلال كود في النموذج على شاكلة DoCmd.RunSQL "UPDATE .. لاستعماله ضمن أكواد أخرى عند اللزوم ثم لا حظت أن هذا الاستعلام يعمل ببطء شديد في الملفات الكبييييرة فهل توجد صيغة أخرى أكثر سرعة تؤدي المطلوب .. سواء كاستعلام أو كود سجلات 01.rar
  24. هذه المعلومة (الظريفة 🙂) منك اخي الكريم جعلتني أعيد النظر في الجدولين، فأضفت للجدول الثاني (b14000) حقل (MNO) ليكون رابطا بين الجدولين وبعد النظر في مكتبة الأكواد التي عندي -والتي مصدرها مشاركات الأفاضل أمثالك أخي الكريم- عدلت الكود إلى cdb.Execute "UPDATE b14 INNER JOIN b14000 ON b14.MNO = b14000.MNO SET b14.HNO = [b14000].[HNO]" وزبطت معي أخيرا .. والآن سوف أضيف الكود (المبالغ به 😃) الذي تفضلت به لهذه المكتبة .. لاستخدامه في التجارب والاختراعات المقبلة
×
×
  • اضف...

Important Information