اذهب الي المحتوي
أوفيسنا

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

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

السلام عليكم

في المرفق 2قاعدة بيانات احداها فيها نموذج بحث ممتاز اسمه بحث-نماذج مستمرة- أريد تطبيق ما في النموذج على النموذج في قاعدة بيانات المسماة -Aziz-

أرجو أن يكون المطلوب واضحا 

حاولت تطبيق طريقة البحث على النموذج -المسمى FormPaids في قاعدة بيانات AZIZ ولم أفلح 

ومشكورين ومنورين وجزاكم الله خيرا

Aziz.rar بحث -نماذج مستمرة.rar

تم تعديل بواسطه عبدالعزيز محمد
قام بنشر (معدل)

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

مشاركتك تؤدي المطلوب ولزيادة السرعة في البحث نأمل أن تكون التصفية -البحث- أكثر سرعة وسهولة 

وذلك عند كتابة كلمة البحث تتم التصفية تلقائيا وليس بعد النقر على زر انتر

أي بمعنى كلما كتبنا حرف تزداد التصفية مثلا لوكتبنا كلمة محمـ تتم التصفة على اساس كل سجل في حقل اسم ولى الامر هذين الحرفين تظهر مثل محمد-محمود وهكذا

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

نأمل أن يكون المطلوب واضحا

تم تعديل بواسطه عبدالعزيز محمد
قام بنشر (معدل)

جزاك الله كل خير وبارك فيه هذا المطلوب

ومن أجل سرعة العمل حبذا لو كانت التصفبة أثناء الكتابة كلما كتبنا حرف تتم التصفية بدون حاجة للنقر على مفتاح Inter 

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

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

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

ومرة أخرى أحب أن اشكر الجميع وبارك الله فيهم وجزاهم كل خير

تم تعديل بواسطه عبدالعزيز محمد
قام بنشر
23 ساعات مضت, Eng.Qassim said:

هل هذا ماتقصده 

في المثال الاساسي يوجد خلل وكذلك في تعديلكم استاذ قاسم

جرب تفلتر اسم من مقطعين اي بينهما مسافة مثلا ستجد المشكلة

طبعا الحل متوفر انظر مشاركة استاذنا ابو احمد وتوجد طريقة اخرى في حدث عند مفتاح اعلى

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

بدلا من

Me.Form.Filter = "[QryPaids]![FATHER_NAME] LIKE '*" & filterText & "*' OR  [QryPaids]![NUM_PAID] LIKE '*" & filterText & "*'"

ممكن نكتب الامر هكذا

strWhere = "[FATHER_NAME]&[NUM_PAID] like '*" & strtxt & "*'"

وممكن نزيد الحقول لاي عدد بدون الحاجة لتكرار like و or

هنا نبحث في اربعة حقول بمربع نص واحد

strWhere = "[FATHER_NAME]&[NUM_PAID]&[DATE_PAID]&[INSTALLMENTS] like '*" & strtxt & "*'"

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

مثلا نبحث عن احمد الذي يعمل في ادارة وباشر العمل بتاريخ

ويكون البحث باستخدام "*" بالشكل التالي احمد*المالية*12/1/2018

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

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

واعتذر عن وضع مرفق فمشاركتي تهتم بالجانب النظري اضافة لعدم اقتناعي بفكرة الفلترة عند التغيير

اخونا شايب 🌹

 

الشايب26.gif

  • Like 2
قام بنشر
منذ ساعه, شايب said:

ممكن نكتب الامر هكذا

strWhere = "[FATHER_NAME]&[NUM_PAID] like '*" & strtxt & "*'"

فكرة ممتازة للاختصار وتسهل عملية التتبع والتعديل.

للعلم المثال في ما يخص التصفية/الفلترة مصمم من السابق وأنا فقط أضفت عليه خيار البحث عند التحديث دون "العبث" في المعايير السابقة.
أحيانا من الصعب أن تبدل القناعات، فأنا ممن يكرهون المناذج الستمرة وأراها تعيق كيثرا من سرعة العمل ولكن يحبها من يحب للتحكم في الألوان والأشكال والتي لا تتوفر في صفحة البيانات/data sheet والتي كذلك لا تعنيني في شيء.

  • Like 1
قام بنشر

جزاكم الله كل الخير وبارك فيكم

أعجبتني فكرة البحث بأكثر من معيار كما في مشاركة أخونا-شايب- 

ولكن لم يتم تحد مكان وضع:

strWhere = "[FATHER_NAME]&[NUM_PAID]&[DATE_PAID]&[INSTALLMENTS] like '*" & strtxt & "*'"

هل في الاستعلام أم في النموذج في حدث معين

طلبا وليس أمر أين نضع السطر السابق .

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

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

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

من أجل الفائدة للجميع نأمل معرفة مكان وضع :

 

strWhere = "[FATHER_NAME]&[NUM_PAID]&[DATE_PAID]&[INSTALLMENTS] like '*" & strtxt & "*'"

بالتحديد وحبذا لو شرح للموضوع 

ونطلب من أخينا (شايب) أن يتحفنا ويضع لنا المثال كما في مشاركته 

أو يتكرم أحد الأخوة بذلك  

ونسأل الله أن يكون ما تقدموه في ميزان حسناتكم

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

"اقرأ النص ولا تقرأ كاتب النص"

مع اعتذاري للجميع، مثالي هو الأمثل إذا أردت استخدام حدث "عند التحديث"، وليس دائما الكود/الشفرة يعتبر أفضل الحلول.
تكمن المشكلة في إعادة التركيز ووقوف المؤشر في مكانه الصحيح. وهذا الموضوع سيتعب كل المحاولين و "غالبا" ستفشل المحاولات إذا لم يستخدم التفاصيل في نموذج فرعي.

إذا أردت معرفة الأفضل فقم بفحوصات "عنيفة" لتعرف صلابة وقوة "المنتج"، الفحوصات الأولية قد تبدو الأفضل ومع التجارب تظهر "البلاوي".
هذه نصيحة فقط، وأرجوك لا تستخدم مثالي 🙂.

قام بنشر

حسبي الله ونعم الوكيل.

هذا آخر مشاركة لي في هذا الموضوع.

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

 

قام بنشر

لقت نظري استخدام المهندس قاسم حدث:
Private Sub X1_KeyUp(KeyCode As Integer, Shift As Integer)
وقد يكون خيارا صائبا كبديل لحدث "عند التحديث" حتى لا يدخل في عملية تكرار الحدث عند معالجة النص.
سأقيم عليه تجارب فلعله يريحنا من مشكلات عدة.

قام بنشر
في 3‏/8‏/2023 at 09:41, عبدالعزيز محمد said:

ونطلب من أخينا (شايب) أن يتحفنا ويضع لنا المثال كما في مشاركته 

مع عدم اقتناع اخونا شايب بفكرة الفلترة عند التغيير

بداية في حدث عند التغيير نضع الامر

On Error Resume Next
Dim strWhere As String
Dim strtxt As String
If Me.X1.Text <> "" Then
strtxt = Me.X1.Text
strWhere = "[FATHER_NAME]&[NUM_PAID]&[DATE_PAID]&[INSTALLMENTS] like '*" & strtxt & "*'"
Me.Filter = strWhere
Me.FilterOn = True
Else
Me.Filter = ""
Me.FilterOn = False
End If
Me.X1.SetFocus
Me.X1.SelStart = Len(Me.X1.Text)

وفي حدث عند مفتاح اعلى نضع الامر

If KeyCode = 32 Then
Me.X1.Value = Me.X1.Text & Chr$(32)
Me.X1.SelStart = Len(X1.Text)
End If

وخطوة اضافية ليست مهمة

في حدث عند النقر المزدوج نضع

Me.X1 = ""
Me.Filter = ""
Me.FilterOn = False
Me.X1.SetFocus

الملف مرفق مع عدم الاقتناع والافضل من وجهة نظر الاخ شايب

استخدام الفلترة في حدث بعد التحديث لكون الامر ينفذ مرة واحد

ولكن للناس فيما يعشقون مذاهب

اخيرا الاخ شايب ليس خبير ولا من اساتذة الموقع ومشاركاته تخطئ وتصيب وتخطئ اكثر مما تصيب

والنقد مرحب به وخصوصا باني لم اراجع الملف بشكل جيد لكون مشاركتي بداية كانت تتعلق بجزئية عدم تكرار المعيار

اخونا العزيز شايب 🌹

 

Aziz5_03.accdb

  • Like 1
قام بنشر
5 ساعات مضت, شايب said:

الملف مرفق مع عدم الاقتناع والافضل من وجهة نظر الاخ شايب

حياك الله عزيزي، نفس المشاكل في الأمثلة السابقة 🙂
 

اقتباس

تكمن المشكلة في إعادة التركيز ووقوف المؤشر في مكانه الصحيح

 

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