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

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

قام بنشر

أستخدمت هذا الكود

Like "*" & [Forms]![Form1]![TextSearch] & "*"

المشكلة في حال وجود فراغ في أحد السجلات لا يظهر في البحث

مثال عندي جدول فيه عدد إثنين من البيانات الإسم والقسم

وعندي ثلاث سجلات أحمد وخالد ومحمد

أحمد في الصيانة وخالد في الصيانة ومحمد القسم فارغ

 

في الإستعلام يظهر أحمد وخالد فقط ومحمد لا يظهر للأسف

 

إش الحل ؟

قام بنشر

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

الموضوع جداً مهم يا ليت أحد يشوف لي حل بشرط ما أبي أعبئ الحقول الفارغة لا بصفر ولا بشيء أبيها فارغة مثل ما هي

قام بنشر

عزيزي

لو ترفع مرفق بسيط به المشكلة افضل

تحياتي

  • Like 1
قام بنشر

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

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

تم إرفاق ملف بسيط فيه مشكلتي وهي كالاتي

أولا : الجدول يحتوي على 5 سجلات وفي الفورم يظهر فقط 3 منهم والسبب ان السجل رقم 3 و 4 فيهم فراغات يعني حقول فارغه

ثانياً وبالتأكيد بسبب ذلك عند كتابة أحد بيانات الحقل رقم 3 أو 4 في مربعات البحث فلن تظهر النتيجة بسبب إنه من الأساس ما استدعاهم وكل هذه اللخبطة بسبب الحقول الفارغة

 

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

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

 

وشكــــــــراً للجميــــــــــع

 

Search Test.rar

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

جربت هذه الطريقة من قبل والنتيجة غير صحيحة ، بعد تعديل الإستعلام إذهب على الفروم

section وأكتب داخل مربع

Mech

Naserراح يظهر معاك سجل

 وهذا غير صحيح

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

@ابوخليل بعد إذن أستاذنا 

@رمهان وبعد إذن أستاذنا

@alzahrani07 أستاذ

سيادتك ما تريد فلتر

وما تريد قيمة افتراضية

فهل تريد حل يعتمد على استخدام دالة

Function

وتؤدي طلبك بدون فلتر وبدون استبدال قيم ؟

وتعتمد  على تكوين استعلام مخصص لطلبك

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

 

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

قام بنشر

نعم صحيح لا أريد فلتر ولا أريد قيمة إفتراضية

إذا قدرت أعدل على الإستعلام أشوف إنه أفضل حل مثلاً

Like "%" Me.textbox .... إلخ هذا مثال فقط إنه أستبدلت النجمة بـ %

 

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

 

وكل الشكر والتقدير للجميــــع ،،،

قام بنشر
1 hour ago, alzahrani07 said:

لكن إذا أضطر الأمر أستخدم كود خاص

Function

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

سيبك من الأجانب دول تفكيرهم تقليدي

1 + 1

= 2

وده طبعا مينفعش معانا 

لازم تبتكر يعني مثلا

1+1

= 3 - 1

 

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

وبناءا على تلك القيم يتم انشاء كود استعلام

ثم نجعله مصدر النموذج

لذلك لكي تطبق الدالة عليك أولا أن تختار مصدر بيانات النموذج هو الجدول

وثانيا تكتب الكود التالي في محرر الفيجوال بيسك

وجرب

واعمل أكثر من تجربة

مرة قيمة خالية هنا

ومرة قيمتين خاليتين هناك وهكذا

 

Option Compare Database
Dim strSQL, a, b, c As String

Private Sub SectionSearch_AfterUpdate()
rs
End Sub

Private Sub StatusSearch_AfterUpdate()
rs
End Sub

Private Sub UserSearch_AfterUpdate()
rs
End Sub

Function rs()
strSQL = ""
a = strSQL & IIf(Nz(Me.UserSearch, 0) = 0, "", " (Table1.User) Like '*" & "" & Me.UserSearch & "" & "*'")
b = strSQL & IIf(Nz(Me.SectionSearch, 0) = 0, "", " (Table1.Section) Like '*" & "" & Me.SectionSearch & "" & "*'")
c = strSQL & IIf(Nz(Me.StatusSearch, 0) = 0, "", " (Table1.Status) Like '*" & "" & Me.StatusSearch & "" & "*'")
   If Nz(Me.UserSearch, 0) = 0 And Nz(Me.SectionSearch, 0) = 0 And Nz(Me.StatusSearch, 0) = 0 Then
   Me.RecordSource = "SELECT Table1.ID, Table1.User, Table1.Section, Table1.Status FROM Table1; "
   Else
          strSQL = "SELECT Table1.ID, Table1.User, Table1.Section, Table1.Status FROM Table1 WHERE "
          If Nz(Me.UserSearch, 0) <> 0 Then
              strSQL = strSQL & a
                 If Nz(Me.SectionSearch, 0) <> 0 Then
                    strSQL = strSQL & " and " & b
                        If Nz(Me.StatusSearch, 0) <> 0 Then strSQL = strSQL & " and " & c
                Else
                        If Nz(Me.StatusSearch, 0) <> 0 Then strSQL = strSQL & " and " & c
                End If
          Else
                If Nz(Me.SectionSearch, 0) <> 0 Then
                    strSQL = strSQL & b
                        If Nz(Me.StatusSearch, 0) <> 0 Then strSQL = strSQL & " and " & c
                Else
                        If Nz(Me.StatusSearch, 0) <> 0 Then strSQL = strSQL & c
                End If
          End If
   Me.RecordSource = strSQL
   End If
Me.Requery
End Function

 

  • Like 3
قام بنشر
9 ساعات مضت, Gamal.Saad said:

سيبك من الأجانب دول تفكيرهم تقليدي

1 + 1

= 2

وده طبعا مينفعش معانا 

لازم تبتكر يعني مثلا

1+1

= 3 - 1

يا جدعان انا قلت الراجل ده جامد تسلم ايدك ياباشا :clapping:

  • Like 1
قام بنشر
25 minutes ago, Amr Ashraf said:

يا جدعان انا قلت الراجل ده جامد تسلم ايدك ياباشا :clapping:

@Amr Ashraf أستاذنا

شكرا على التشجيع ههههه

أنا خايف تكون جربت

1 + 1

ولم تجرب المرفق

عاوزين نعرف لو فيه مشاكل ولا لأ ؟

  • Like 1
قام بنشر (معدل)
9 ساعات مضت, Gamal.Saad said:

@Amr Ashraf أستاذنا

شكرا على التشجيع ههههه

أنا خايف تكون جربت

1 + 1

ولم تجرب المرفق

عاوزين نعرف لو فيه مشاكل ولا لأ ؟

ههههه انا عن نفسى عجبتنى حتة 1+1 دى مصرى مصرى يعنى :wavetowel: بالنسبة للمرفق لا مجربتوش بس شكله شغل عالى :dance1:

انا عن نفسى فى مسألة الاستعلامات لو هعمل Criteria بعملها Like "*" بالطريقة التقليدية لأنى مبسيبش الحقول اللى هبحث فيها فارغة وادوخ نفسى ولو محتاج الاسم بالظبط بعمل المعيار Like بس واكتب الحاجة بالظبط عشان يتفلتر عليها انما ايه لزمة انى ابحث فى حقل سايب فيه Null Values ؟ ده رأيى  واللى انا ماشى عليه 

 

تم تعديل بواسطه Amr Ashraf
  • Like 1
قام بنشر
2 minutes ago, Amr Ashraf said:

ههههه انا عن نفسى عجبتنى حتة 1+1 دى مصرى مصرى يعنى

صدقني فعلا دي عندنا مشكلة

يبقى كل الأمور واضحة وتكلم الشخص بالمنطق

واحد زائد واحد بيساوي اثنين

يقعد يجادل ومش مقتنع بكلامك ويقول لماذا اثنين؟ وليس أكثر أو أقل؟

 

7 minutes ago, Amr Ashraf said:

 بالنسبة للمرفق لا مجربتوش بس شكله شغل عالى 

حتى لو مش شغال يبقى عملنا اللي علينا وأخذنا ثواب النية إنما الأعمال بالنيات

9 minutes ago, Amr Ashraf said:

انا عن نفسى فى مسألة الاستعلامات لو هعمل Criteria بعملها Like "*" بالطريقة التقليدية لأنى مبسيبش الحقول اللى هبحث فيها فارغة وادوخ نفسى ولو محتاج الاسم بالظبط بعمل المعيار Like بس واكتب الحاجة بالظبط عشان يتفلتر عليها انما ايه لزمة انى ابحث فى حقل سايب فيه بيانات فارغة ؟ ده رأيى  واللى انا ماشى عليه

أنا مقتنع بكلامك تماما

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

  • Like 1
قام بنشر

Gamal.Saad

أستاذنا يعطيك العافية الكود اشتغل 100% ألف شكر لك.

Amr Ashraf

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

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

  • Like 2
  • أفضل إجابة
قام بنشر

السلام عليكم

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

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

اخي الزهراني

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

SELECT Table1.ID, Table1.User, Table1.Section, Table1.Status
FROM Table1
WHERE (((IIf(IsNull([forms]![Form1]![SectionSearch]),1,InStr(1,[Section],[Forms]![Form1]![SectionSearch])))>0) AND ((IIf(IsNull([forms]![form1]![UserSearch]),1,InStr(1,[user],[Forms]![Form1]![UserSearch])))>0) AND ((IIf(IsNull([forms]![form1]![StatusSearch]),1,InStr(1,[status],[Forms]![Form1]![StatusSearch])))>0));

بالتوفيق

  • Like 3
قام بنشر
3 ساعات مضت, رمهان said:

السلام عليكم

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

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

اخي الزهراني

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


SELECT Table1.ID, Table1.User, Table1.Section, Table1.Status
FROM Table1
WHERE (((IIf(IsNull([forms]![Form1]![SectionSearch]),1,InStr(1,[Section],[Forms]![Form1]![SectionSearch])))>0) AND ((IIf(IsNull([forms]![form1]![UserSearch]),1,InStr(1,[user],[Forms]![Form1]![UserSearch])))>0) AND ((IIf(IsNull([forms]![form1]![StatusSearch]),1,InStr(1,[status],[Forms]![Form1]![StatusSearch])))>0));

بالتوفيق

 

الطريقة 100% وسهلة الإستخدام بالنسبة لي أو بالمعنى الصحيح بما إني مبتدئ فهذا الكود سهل علي أقدر أعدل عليه واضيف مثل ما أبي

أتمنى أخوي Gamal.Saad  ما يتضايق من كلامي

شكـــراً شكــراً لكم جميعاً ..............................

  • Like 2
قام بنشر
4 hours ago, رمهان said:

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

يا فندم هذه شهادة أعتز بها من محترف مثلك

بالنسبة للصورة بتاعة الخبراء كنت أظن إن بعض الاعضاء المحترفين يختاروا صورة خبير ويضعوها تحت الاسم

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

1 hour ago, alzahrani07 said:

الطريقة 100% وسهلة الإستخدام بالنسبة لي أو بالمعنى الصحيح بما إني مبتدئ فهذا الكود سهل علي أقدر أعدل عليه واضيف مثل ما أبي

أتمنى أخوي Gamal.Saad  ما يتضايق من كلامي

شكـــراً شكــراً لكم جميعاً ..............................

ياباشا اختر ما شئت من الفاكهة

لن يتضايق أحد من اختيارك

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

بس ضروري ولازم أستأذن من صاحب الموضوع والاداريين طبعا. والسؤال هو

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

هل هي متوقفة في هذا التصميم من المنتديات

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

عندي  بجوار الاسم صورة جرس  يأتيني بالتنبيهات ولا يوجد أي رابط للرسائل

 

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

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

 في بالي لوكان المرفق  mdb  لاشارككم

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

20 ساعات مضت, رمهان said:

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

 .. ترشيح محل اعتبار 

  • Like 2
قام بنشر
في 6/14/2017 at 13:05, alzahrani07 said:

Gamal.Saad

أستاذنا يعطيك العافية الكود اشتغل 100% ألف شكر لك.

Amr Ashraf

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

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

وجهة نظر و طبعا نرجع ونقول ان لكل فكرة متطلباتها طبعا الظروف اللى بتحكم التصميم

قام بنشر
15 ساعات مضت, Gamal.Saad said:

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

هل هي متوقفة في هذا التصميم من المنتديات

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

عندي  بجوار الاسم صورة جرس  يأتيني بالتنبيهات ولا يوجد أي رابط للرسائل

 

افيدك انا يا استاذ جمال الرسائل الخاصة بتتفعل لما توصل لعضو فعال بعد 100 مشاركة يعنى وكده كده لما تترقى وتبقى خبير ياباشا كل حاجة هتبقى مفتوحة :clapping:

  • Like 1
قام بنشر
1 hour ago, Amr Ashraf said:

افيدك انا يا استاذ جمال الرسائل الخاصة بتتفعل لما توصل لعضو فعال بعد 100 مشاركة :clapping:

جزاكم الله خيرا أستاذنا عمرو

وعقبال ما أشوفك القائد العام للمنتدى وزعيم جبهة أكسس

  • Like 1
قام بنشر
9 ساعات مضت, Gamal.Saad said:

جزاكم الله خيرا أستاذنا عمرو

وعقبال ما أشوفك القائد العام للمنتدى وزعيم جبهة أكسس

ههههههه لا المنتدى هنا اكبر من ذلك كلكم اساتذتنا وبنتعلم على ايدكم والله جزاكم الله خير :fff:

  • 2 months later...
قام بنشر

الأخوة الكرام

أ  رمهان

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

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