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

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

قام بنشر

أداة البحث السريع {سلسلة الأدوات المساعدة المخصصة}


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

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

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

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

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

500.thumb.gif.73fe7001a7d8383433defbf3e5dcfb7d.gif
وكما هو موضح بالصورة المتحركة فلو رأينا سرعة الوصول لنتيجة البحث بإستخدام الماوس وقارناها مع مربع التحرير والسرد أو مربع القائمة سيكون الفارق كبير

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

أرجو أن تجدوا في هذه الأداة الفائدة والعون في تسهيل أعمالكم

تحياتي
 


 

  • Like 4
قام بنشر

تبارك الله ،، فكرة جميلة جداً ، وأكثر ما أعجبني بها هي حركة الماوس وتبديل الحرف :clapping:

جزاك الله عنا كل الخير على هذه الفكرة الجميلة .. وقد اقوم باستعمالها بدلاً من فكرتي السابقة الغبية في الفيديو التالي للتوضيح 😅

 

 

قام بنشر
منذ ساعه, Foksh said:

تبارك الله ،، فكرة جميلة جداً ، وأكثر ما أعجبني بها هي حركة الماوس وتبديل الحرف :clapping:

جزاك الله عنا كل الخير على هذه الفكرة الجميلة .. وقد اقوم باستعمالها بدلاً من فكرتي السابقة الغبية في الفيديو التالي للتوضيح 😅

لا تعرف مدى سعادتي بكلامك هذا :wub:

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

ألف شكر لك

  • Like 1
قام بنشر
7 دقائق مضت, منتصر الانسي said:

يجد بقية الأعضاء فيها الفائدة ويستخدمونها في أعمالهم

أثق بأنك ستحصد ثمار النجاح من خلال دعائهم لك على هذه الفكرة الذهبية 😇

  • Like 1
  • Moosak pinned this topic
قام بنشر (معدل)

الفكرة مبتكرة وجميلة جداً

لكن واجهتني بعض الصعوبات أثناء التنفيذ وأحتاج بعض التوضيحات

كما فهمت : يتم استيراد  الثلاث نماذج التالية إلى تطبيقى

frmSearch
sfrmSearch
frmFinderBuilder

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

p_3911mcdpj1.jpg

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

p_3911wx79g1.jpg

التطبيق أعلاه بصيغة mdb  (أكسس 2003)

البناء والنسخ والاستخدام لا يوجد به مشاكل

لكن الناتج  لا يعمل حتى على أوفيس 2024 .. ما السبب ؟؟

p_3911ko0bi1.jpg

p_3911y0el02.jpg

 

تم تعديل بواسطه أحمد العيسى
قام بنشر
1 ساعه مضت, أحمد العيسى said:

لكن الناتج  لا يعمل حتى على أوفيس 2024 .. ما السبب ؟؟

المفروض يعمل في أي نسخة المشكلة الذي لاحظتها من رسالة الخطأ جملة SQL والتي تظهر بهذا الشكل

Left(Trim(SearchName) As SearchLetter FROM (SELECT Nr AS SearchNo, Name_S AS SearchName FROM tbl_student1 ORDER BY Name_S) AS SubQuery WHERE SearchName IS NOT NULL

ويفترض أن تكون بهذا الشكل

SELECT DISTINCT Left(Trim(SearchName),1) As SearchLetter FROM (SELECT Nr AS SearchNo, Name_S AS SearchName FROM tbl_student1 ORDER BY Name_S) AS SubQuery WHERE SearchName IS NOT NULL

فلو قارنا بين الجملتين سنجد عدم وجود عبارة SELECT DISTINCT وكذلك دالة Left كانت خاظئة 

عموماً جرب حذف النموذج frmSearch وإعادة إستيراده من القالب وإن شاء الله تحل المشكلة

قام بنشر

حولت تطبيقي إلى صيغة *.accdb  وتم تجربته على أوفيس 365  (2024)

وتم الاستيراد وبناء الكود كما أسلفت

لكن ما زالت  الأخطاء كما  هي ، و كما أوضحتها سابقاً

سأحاول التجربة غداً على نسخة أكسس أقل فى الإصدار 

إذ  ربما تكون المشكلة فى النسخة المثبتة على جهازي

قام بنشر
50 دقائق مضت, أحمد العيسى said:

حولت تطبيقي إلى صيغة *.accdb  وتم تجربته على أوفيس 365  (2024)

وتم الاستيراد وبناء الكود كما أسلفت

لكن ما زالت  الأخطاء كما  هي ، و كما أوضحتها سابقاً

سأحاول التجربة غداً على نسخة أكسس أقل فى الإصدار 

إذ  ربما تكون المشكلة فى النسخة المثبتة على جهازي

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

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

مشاركةً مع اخي منتصر ..

استبدل الاستعلام الموجود في الدالة GetLettersArray التي فيها الخطأ ، بالتالي :-

strSQL = "SELECT DISTINCT Left(Trim(SearchName), 1) AS SearchLetter " & "FROM (" & strRS & ") AS SubQuery " & "WHERE SearchName IS NOT NULL;"

 

حيث أن الدالة Left تحتاج إلى معاملين . وانت استعملت معامل واحد وهو SearchName ، ولم تحدد رقم الحرف الأول ، لتصبح :-

Left(Trim(SearchName), 1)

 

تم تعديل بواسطه Foksh
توضيح وتنسيق الرد ..
  • Like 1
قام بنشر
3 ساعات مضت, أحمد العيسى said:

يرجى التعديل فى القالب الأصلي

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

الغريب أنه لم يذكر أحد هذه المشكلة قبل الأخ @أحمد العيسى :wub:

تم تصحيح الخطأ وإعادة رفع الأداة

  • Like 2
قام بنشر

لا مجال للإعتذار .. بصماتك ومساعداتك للجميع واضحة للكل

ثم أنك قد ذكرت التصحيح فى ردك

في 16‏/9‏/2026 at 19:06, منتصر الانسي said:

ويفترض أن تكون بهذا الشكل

SELECT DISTINCT Left(Trim(SearchName),1) As SearchLetter FROM (SELECT Nr AS SearchNo, Name_S AS SearchName FROM tbl_student1 ORDER BY Name_S) AS SubQuery WHERE SearchName IS NOT NULL

فلو قارنا بين الجملتين سنجد عدم وجود عبارة SELECT DISTINCT وكذلك دالة Left كانت خاظئة

 

  • Like 1
  • 3 weeks later...
قام بنشر (معدل)

أثناء العمل على قاعدة البيانات ، قمت بحذف كل البيانات منها

وعند حركة الماوس على شريط الأحرف   تظهر رسالة بالخطأ

أضفت لكود " عند تحريك الماوس " سطور تصيد هذا الخطأ

Private Sub cmdIndex_MouseMove(Button As Integer, Shift As Integer, X As Single, y As Single)

On Error GoTo Err_Note

   Dim strChr As String
   strChr = ProcessArabicLetters(CInt(y / Me.cmdIndex.Height * (UBound(GetLettersArray) + 1)))
   If Me.cmdIndex.Caption <> strChr Then
      Me.cmdIndex.Caption = strChr
   End If
   
Exit_Note:
    Exit Sub

Err_Note:
  Beep
  DoCmd.CancelEvent
  MsgBox ("  !!!!!  عفواً ،،،، لا توجد بيانات"), vbOKOnly + vbMsgBoxRight, "ملاحظـة"
   
End Sub

إذا  كان هناك ملاحظة على ما سبق  أو إضافة ما

فأرجو  التعقيب

وخصوصاً على هذا الجزء

:Exit_Note
Exit Sub                    

لأني غير متأكد من فائدته

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

أردت تعديل المشاركة السابقة ، فوجدت أن ذلك غير متاح

أرجو من إدارة المنتدى  زيادة مدة التعديل ليوم كامل على الأقل

حيث أنني توصلت إلى كود أبسط من السابق لتصيد الخطأ   وهو التالي :

Private Sub cmdIndex_MouseMove(Button As Integer, Shift As Integer, X As Single, y As Single)
    On Error GoTo ErrorHandler
    Dim strChr As String
    strChr = ProcessArabicLetters(CInt(y / Me.cmdIndex.Height * (UBound(GetLettersArray) + 1)))
    If Me.cmdIndex.Caption <> strChr Then
        Me.cmdIndex.Caption = strChr
    End If
Exit Sub

ErrorHandler:
    MsgBox ("  !!!!!  عفواً ،،،، لا توجد بيانات"), vbOKOnly + vbMsgBoxRight, "ملاحظـة"
'   MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical, "Error"
    Resume Next
End Sub

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

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

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
×
×
  • اضف...

Important Information