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

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

قام بنشر
16 دقائق مضت, Ahmos said:

وانا في انتظار أن تقوم بالتجربة

وأنا أنتظر الملف المعدل الذي سأجري عليه التجارب .. لأني لا أعرف كيف أدرج هذه التعديلات في الأكواد 😐

قام بنشر

تفضل أخي الكريم الملف مع التطبيق علي الكود الأساسي والبحث باسم من خلال النموذج

يمكنك التجربة 
وفي انتظار وملاحظاتك وتعديلاتك

بالتوفيق

Smart_Search_Pages_V2.zip

  • Thanks 1
قام بنشر

الحمد لله أخي الكريم .. النتيجة في هذا الملف تمام بحمد الله ، بعد إضافة صغيرة مني

النتيجة الأولى كانت: كل النتائج صحيحة إلا (3) فقط

وأعني بصحيحة حتى تلك التي يكون فيها رقم (MNO) الرئيسي ليس مطابقا، لكن الرقم الصحيح موجود في المربعات الأخرى، لأن هذا هو المطلوب

والنتائج الخاطئة الثلاث كانت بسبب وجود الاسم الثاني للكتاب

فخطر على بالي أن أستبدل الأسماء الثانية للكتب بالأسماء الأولى في حقل (NASS) من (TAB)

فلم يعد في النص إلا: أمالي الشجري ، الأربعين للبكري

وعندها أصبحت النتائج هي المطلوبة 100%  والحمد لله

وبالنسبة للخيارات التي ذكرتها أخي الكريم، فقد غيرت (False) إلى (True) في الكود

 image.png.083ecc1351f70b03c2a1dcbcdf3d18ff.png

ولم تتغير النتيجة سواء قبل الاستبدال أو بعده

وأنا الآن أستعد لإجراء تجربة أكبر مع عينات عشوائية للاختبار .. والله الميسر

قام بنشر (معدل)

الحمد لله والشكر لله
أخي الكريم التعديل علي رأس الدالة يعني التعديل علي القيم الافتراضية فقط
بمعني وضع كلمة Optional تجعل هذا الجزء أختياري وإذا وضعت له قيمة فتصبح هذه هي القيمة الافتراضية
فمثلاً الدالة التي اشرت اليها تطلب 6 معلومات 4 لن تعمل بدونهم و2 اختياري وقد تم وضع قيمتهم الافتراضية
إذا استخدمتها بدون المقاطع الاختيارية فتعتمد القيمة الافتراضية
مثال إذا قمت بعمل دالة لجمع رقمين
function sumTwoNums(num1 as integer,optional num2 as integer = 5) as integer
هنا يلزم إدخال قيمة الرقم الأول num1
اما الرقم الثاني num2 فاختياري وفي حالة لم يتم إدخاله يعتبر موجود بقيمته الافتراضية 5
ويمكن وضع قيم اختيارية داخل الدالة بدون تحديد قيمتها الافتراضية
function sumTwoNums(num1 as integer,optional num2 as integer ) as integer

ولكل طريقة استخدامها


كما ان هذه الدالة ليست هي المستخدمة داخل الكود بل هذه
image.png.16e63e1dfb9def292a5eef09040da694.png

لان هذه الدالة تعود بـ True في حالة وجود تطابق او False
اما الدالة الأخرى فتعود بقيم التطابق
وإذا اردت التعديل فداخل الكود (nssjSmartSearch_byPage)
هنا

image.png.19367a299fbd156118f1b34fac04f70f.png

 

-------------------------------------

فكرتك حلوة وذكية ربنا يوفقك ويبارك فيك
 

تم تعديل بواسطه Ahmos
تصحيح كلمة
  • Thanks 1
قام بنشر

أخي الكريم .. أجريت تجربة على ملف كبير، والنتيجة جيدة بالنظر للمعطيات

وأنا الآن سأتوقف عن إكمال التجارب لكوني خارج المنزل لبعض الأشغال

لكن عندي استفسار بخصوص الأرقام التي تعرضها الدالة في مربعات (MNO)

هل تعرض نتائج البحث عن الجزء والصفحة، أم نتائج البحث عن اسم الكتب، أم نتائج البحث عن أحدهما أو كليهما

فقد لفت نظر في العديد من الأمثلة أن كل الأرقام التي فيها غير مطلوبة لأنها في مثل

الأربعين في مناقب أمهات المؤمنين (ص 55)

تعرض كل الصفحات التي فيها (ص 55) أو (1/ 55) حتى لو لم يكن فيها اسم الكتاب: الأربعين في مناقب أمهات المؤمنين

ولهذا كانت المواضع كثيرة جدا في (allFoundMNO)

فهل يمكن جعل هذه المربعات تظهر فقط النتائج التي يجتمع فيها الأمران

كما اقترحت من قبل: وجود حقل خاص تتم فيه فلترة أرقام  (allFoundMNO) بهذا الاعتبار

وهذه الأرقام المفلترة هي فقط التي يتم عرضها في المربعات

إن أمكن هذا فستؤدي هذه المربعات غرضها بشكل جيد

* ثم إن كان بالإمكان إضافة دالة لاستبدال أسماء الكتب الثانية (BookName2) في نص البحث في (TAB) بحيث لا يبقى فيه إلا أسماء (BookName) من القائمة (BOOKSLIST)

5 ساعات مضت, Ahmos said:

ربنا يوفقك ويبارك فيك

وإيكم أخي الكريم

قام بنشر

الدالة بالفعل تبحث باسم الكتاب والرقم
إذا امكنك تزويدي بمكتبة كبيرة او واحدة تضمن بعض الأمثلة

كما ان فكرة استبدال الاسم بالفعل فكرة ممتازة
اذا كنت تملك قاعدة بهذه الأسماء وبدائلها فيمكن العمل علي دالة تقوم بهذا الاستبدال
كما يمكن أيضاً إعداد نص أخر سوف أقوم "إن شاء الله" باستبدال الاسم بوضعه داخل علامات مميزة
مثال

الأربعين في مناقب أمهات المؤمنين
يصبح 

(BN) الأربعين في مناقب أمهات المؤمنين (BN)
بشرط ان هذه العلامة لا توجد بالاحاديث
وبهذه الطريقة يمكن عمل دالة تستخرج جميع الاحاديث داخل النص

1- عمل دالة لاستبدال جميع بدائل الأسماء لتوحيد الاسم داخل النص
2- استبدال (ص
3- يجب معالجة المواضع المتأخر بإيجاد طريقة لاستبدال و( باسم الحديث الذي يأتي قبلها
4- عمل دالة تتبع النمط التالي
(BN) كلام (BN) مسافة او أي فواصل ( { وهكذا ثم ارقام  ثم إلي أخر رقم او )
وبهذه الطريقة سيكون لدينا جميع الاحاديث داخل هذا النص 
ومن ثم يمكن التفكير في طريقة للعمل عليها وتحليلها

بالتفكير فالنقطة رقم 3 فيمكن إن شاء الله عمل دالة تبحث قبل الـ و( حتي تصل إلي (BN) ثم تستبدل
 

أسأل الله التوفيق والسداد

قام بنشر
34 دقائق مضت, Ahmos said:

اذا كنت تملك قاعدة بهذه الأسماء وبدائلها فيمكن العمل علي دالة تقوم بهذا الاستبدال

القائمة هي جدول (BOOKSLIST)

وهي في الملف المرفق بآخر تحديثاته

BOOKSLIST.accdb

قام بنشر
3 ساعات مضت, nssj said:

فقد لفت نظر في العديد من الأمثلة أن كل الأرقام التي فيها غير مطلوبة لأنها في مثل

الأربعين في مناقب أمهات المؤمنين (ص 55)

تعرض كل الصفحات التي فيها (ص 55) أو (1/ 55) حتى لو لم يكن فيها اسم الكتاب: الأربعين في مناقب أمهات المؤمنين

ولهذا كانت المواضع كثيرة جدا في (allFoundMNO)

يبدو لي أني عرفت سبب هذه الظاهرة التي لا تحدث دائما

بعد التجربة ظهر لي أنها تحدث إذا لم تجد الدالة النتيجة المطابقة: اسم الكتاب والرقم

فتظهر كل النتائج التي فيها الرقم

كما في هذه الصورة

image.png.535cf3291ca21ce5dda9a316f97230d4.png

تم إظهار كل هذه النتائج الخاطئة لأنه لا يوجد في النص (Tab) النتيجة المطلوبة، وهي

الأربعين في مناقب أمهات المؤمنين (ص 33)

ولما أضفتها في (TAB) وأعدت تشغيل الدالة أعطاني النتيجة المطلوبة فقط وتجاهل الباقي

لذلك فالأفضل أنه إذا لم يوجد التطابق باجتماع اسم الكتاب والرقم فلا حاجة للاحتفاظ بهذه النتائج أو إظهارها بأي طريقة لأنه لا وزن لها

Smart_Search_Pages_Test.rar

قام بنشر

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

إليك النسخة الجديدة في المرفقات
وبها تم عمل الدالة المسؤولة عن استخراج الكتب
وهي بالأساس تعتمد علي عدد أسماء الكتب المدخلة 
فقد أضفت اسم كتاب  أسد الغابة
حتي يظهر بالنتائج
قد تأخذ بعض الوقت ولكن إذا كانت مفيدة فهي تستحق

الحمد لله ولا حول ولا قوة إلا بالله

image.png.d76bdc043d858e1dbad029d365e4fc98.png

 

image.png.a338e3ba0b5a9c4335058d33a1d0ac99.png

Smart_Search_Pages_V3.zip

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

  • Thanks 1
قام بنشر
11 ساعات مضت, Ahmos said:

سأحاول التفكير مرة أخرى والله المستعان

أعانك الله أخي الكريم .. ورزقني وإياك التوفيق والتيسير

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

مثلا، في لو كان رقم (33) في: الأربعين في مناقب أمهات المؤمنين (33) ، هو رقم الحديث وليس الصفحة فلن يتكرر بهذه الصيغة في (TAB)، ولكن لكونه رقم صفحة فقد يتكرر لأن الصفحة الواحدة قد يكون فيها أكثر من حديث، كما هو ظاهر في الأمثلة التي عرضتها سابقا (أمالي الشجري 1/ 60  في الصفحة الواحدة أربعة أحاديث)

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

وهنا الحلقة المفقودة في نظري

الدالة لم تلتزم بإحضار النتائج بشرط اجتماع: اسم الكتاب ورقم الصفحة، بل تحضر النتائج التي فيها رقم الصفحة حتى لو لم يكن فيها اسم الكتاب المطلوب

يظهر هذا في الصورة التي أرفقتها في المشاركة السابقة

وهذا العمود (exBooks) الذي أضفته لإظهار أسماء الكتب في كل حديث عمود مهم وفكرة جيدة زادك الله توفيقا أخي الكريم

وبالنظر في هذا العمود لهذا الحديث الذي ضربتُه كمثال

 image.png.b3091e834aba7e9983b6672c304f4a7d.png

كما ترى أخي الكريم: لا يوجد ضمن أسماء الكتب في المواضع الثلاثة: الأربعين في مناقب أمهات المؤمنين

فعلى أي أساس تم عرض أرقام هذه الأحاديث في النتائج .. تم عرضها لأن فيها رقم الصفحة المطلوبة فقط (ص 33)

مع الإشارة أخي الكريم أن نص (TAB) المرفق ليس فيه: الأربعين في مناقب أمهات المؤمنين (ص 33)

ولما أضفتها في أحد صفحات (TAB) أعطاني النتيجة الصحيحة فقط

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

وبانتظار أن تصل إلى الحلقة المفقودة كمبرمج لهذه الدالة

زادك الله توفيقا ويسر أمرك أخي الكريم

قام بنشر

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

1- الدالة تعتمد علي الاسم والرقم 
فهناك دالتين تعمل علي تجهيز النص نتكلم الان عن البحث باسم الكتاب ورقم الصفحة
الدالة الاولي تقوم بقص النص من اول اسم الكتاب إلي الرقم المراد البحث عنه
ومن ثم تعمل الدالة الثاني علي مطابقة النمط
ولنحسم هذا الأمر يمكنك تجربة اسم غريب داخل جدول BOOKS
فستجد انه لم يعد هناك نتائج للبحث ومن قبل كان هناك نتائج
مثال :

image.png.f6d8b1cfec0d4d299e00d8b8c912e48d.png

 

وبما أن دالة الاستخراج تستخدم نمط مطابقة مشابه فهي أيضاً تعتمد علي اسم الكتاب ولذلك الكتب التي لم يتم استخراجها ذلك بسبب عدم وجود اسم الكتاب في جدول BOOKSLIST
للعلم دالة استخراج الكتب لا تبحث بالأرقام تعتمد فقط علي أسماء الكتب

فالدالة تقوم أولا بعمل قائمة بأسماء الكتب وبدائلها من الجدول BOOKSLIST
ثم نذهب بهذه القائمة علي كل نص ونبحث عن الاسم ثم نطابق نمط بعد الاسم لنستخرج الأرقام والاقواس وهكذا
ولذلك إن لم يكن اسم الكتاب موجود في جدول أسماء الكتب فلن يتم استخراجه

مازلت أحاول العمل علي فكرة استخراج المواضع المتأخرة والان أقوم باستخراجها بشكل منفصل إلي انا اصل الي طريقة سريعة لربطهم بأسماء الكتب التابعة لهم 

image.png.790146ee3d0ba2ef49283057a02d7844.png

image.png.2bcc494475df79d982cfb79bb3edf939.png

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

 

اللهم لك الحمد كله والشكر كله
بالتوفيق

Smart_Search_Pages_V4.zip

قام بنشر

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

Smart_Search_Pages_V6.zip

  • Thanks 1
قام بنشر

جزاك الله خيرا أخي الكريم

من حيث السرعة فالدالة تعمل بسرعة بعدما جربتها على ملف كبير

 image.png.4ca5749cfdabc250470e03c991b87037.png

 وبعد استعراض بعض النتائج العشوائية لفت نظر هذا المثال:

 image.png.ebcd38bc22981fc700004a7e801e439b.png

 على الرغم من وجود النتيجة المطابقة في النص [الشجري في أماليه (1/ 83)] إلا أنه عرض أكثر من نتيجة، ولم يجعل النتيجة المطابقة هي الرئيسية

قام بنشر (معدل)

عرفت سبب الخطأ في المثال السابق: الشجري في أماليه (2/ 83) والأمثلة المشابهة التي لم أرفق لها صورة، فقد لفت نظري أن الكتب فيها مذكورة بالاسم الثاني، والاسم الثاني غير موجود في جدول (BOOKS) اعتمادا على أنه موجود في جدول (BOOKSLIST)

وأذكر أنك أخبرتني سابقا أن الأفضل أن يكون موجودا في  (BOOKS)

لذلك حدثت هذا العمود من جدول (BOOKSLIST) ليصبح هكذا

  image.png.3107da2fcf645c9b0d6fa426945cb037.png

وأعدت تشغيل الدالة .. وراجعت المواضع التي سجلت الخطأ فيها فوجدت النتائج فيها صحيحة

وهنا أسألك أخي الكريم: أليس من المفترض أنه لم يعد في نص (TAB)  بعد الاستبدال إلا الاسم الأول للكتاب، فلماذا تغيرت النتيجة لما وضع الاسم الثاني للكتاب في جدول (BOOKS) ؟

تم تعديل بواسطه nssj
قام بنشر

هل يمكن مشاركة مثل هذه الأمثلة
في قاعدة البيانات الأخيرة
وإذا أمكنك إضافة المزيد من الكتب لقائمة الكتب

وإذا كان هناك احتمال لإضافة بدائل أخرى لأسماء الكتب
فيمكنك إضافة أعمدة لإضافتها للكود

قام بنشر
21 دقائق مضت, nssj said:

وهنا أسألك أخي الكريم: أليس من المفترض أنه لم يعد في نص (TAB)  بعد الاستبدال إلا الاسم الأول للكتاب، فلماذا تغيرت النتيجة لما وضع الاسم الثاني للكتاب في جدول (BOOKS) ؟

دائماً أترك النص الأساسي بدون تغير لأنه المرجع
فقد قمت بعمل عمود أخر باسم (modifiedNass)
ولكني تابعت التجارب عليه بغرض إستخراج الكتب وليس البحث 
النسخة بالمرفقات بها التعديل المطلوب "إن شاء الله"

تم تعديل البحث ليتم داخل عمود النص الجديد
كما تم إضافة زر لإعداد النص الجديد

image.png.61c3d57c09b39d9d0ade4df9c9794c2d.png

 

بانتظار تجربتك أخي الكريم 

Smart_Search_Pages_V7.zip

قام بنشر

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

الملف بالمرفق 😁
image.png.fd400b78f71db56252fdfe04a3888441.png

في خانة allFoundMNO يتم تسجيل جميع النتائج المقتطعة 
اما في خانات الـ MNO يتم تسجيل فقط ما تم مطابقته
وللعلم في هذا الكود حتي اعالج قيم المواضع المتأخرة افترضت ان الجزء المقتطع لن يتضمن اسم كتاب أخر
حتي اتجنب البحث بأسماء الكتب الأخرى داخل الجزء المقتطع فما أقوم به هو البحث عن و( او و ( ويتم استبدالها باسم الكتاب و(

لذا ان كنت تملك أمثلة لتجربة مثل هذه الحالات حتي نتبين الأمر
واذا كنت ترغب بتعديل آلية البحث فلا أمانع فأنت المعني باختيار الأفضل والأنسب


 

Smart_Search_Pages_V8.zip

  • Thanks 1
قام بنشر

عندما حاولت إجراء تجربة على الملف الكبير ظهرت هذه الرسالة عند طلب إعداد النص المعدل .. ظهرت في الإصدارين: 6، 7 ، ولم يكمل تعديل كل النصوص

image.png.a3ba077a3aa2315b8dbcd4ad855ff4a0.png

قام بنشر

هل من الممكن ان هناك بعض الخانات الفارغة في العمود NASS ؟

قام بنشر

ممكن تقولي قاعدة البيانات فيها كام سجل

وكمان في كام سجل اتنقل للخانة الجديدة ووقف فين

وعموما الدالة ممكن تستخدمها من خلال 

إستعلام تحديث 

ابعتلي المعلومات وان شاء الله اعدل علي الملف لما اكون قدام الجهاز 

قام بنشر

قاعدة البيانات فيها (55000) سجل قابل للزيادة

توقف عند (25855)

قام بنشر

ممكن تتأكد من مساحة قاعدة البيانات
وبعد كدا تجرب تعمل ضغط واصلاح من هنا
image.png.b9e82fbb305058b986f0de05ef28a160.png

قام بنشر

عملت ضغط وإصلاح أكثر من مرة .. والنتيجة نفسها

ومساحة قاعدة البيانات عادية (100) ميجا

قام بنشر

قبل الضغط والاصلاح كان (2) جيجا !!

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