اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
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 مو مشكلة المهم يكون سهل التعديل لإني شفت حل عن طريق موقع أجنبي لكن طويل جداً وصعببب جداً ..........

 

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

قام بنشر
  في 14‏/6‏/2017 at 16:44, alzahrani07 said:

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

Function

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

Expand  

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

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
قام بنشر
  في 14‏/6‏/2017 at 18:38, Gamal.Saad said:

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

1 + 1

= 2

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

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

1+1

= 3 - 1

Expand  

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

  • Like 1
قام بنشر (معدل)
  في 14‏/6‏/2017 at 19:32, Gamal.Saad said:

@Amr Ashraf أستاذنا

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

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

1 + 1

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

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

Expand  

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

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

 

تم تعديل بواسطه Amr Ashraf
  • Like 1
قام بنشر
  في 14‏/6‏/2017 at 19:40, Amr Ashraf said:

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

Expand  

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

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

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

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

 

  في 14‏/6‏/2017 at 19:40, Amr Ashraf said:

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

Expand  

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

  في 14‏/6‏/2017 at 19:40, Amr Ashraf said:

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

Expand  

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

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

  • 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
قام بنشر
  في 15‏/6‏/2017 at 02:20, رمهان 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));

بالتوفيق

Expand  

 

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

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

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

  • Like 2
قام بنشر
  في 15‏/6‏/2017 at 02:20, رمهان said:

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

Expand  

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

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

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

  في 15‏/6‏/2017 at 05:52, alzahrani07 said:

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

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

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

Expand  

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

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

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

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

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

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

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

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

 

  • Like 1
قام بنشر
  في 15‏/6‏/2017 at 02:20, رمهان said:

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

Expand  

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

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

  في 15‏/6‏/2017 at 02:20, رمهان said:

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

Expand  

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

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

Gamal.Saad

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

Amr Ashraf

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

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

Expand  

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

قام بنشر
  في 15‏/6‏/2017 at 07:16, Gamal.Saad said:

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

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

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

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

 

Expand  

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

  • Like 1
قام بنشر
  في 15‏/6‏/2017 at 13:40, Amr Ashraf said:

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

Expand  

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

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

  • Like 1
قام بنشر
  في 15‏/6‏/2017 at 15:04, Gamal.Saad said:

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

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

Expand  

ههههههه لا المنتدى هنا اكبر من ذلك كلكم اساتذتنا وبنتعلم على ايدكم والله جزاكم الله خير :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