• 0
عراق الغالي

طريقة عمل زر بحث

سؤال

السلام عليكم...

كيف اعمل زر بحث بالاكسس 2007 على شكل مربع نص مثلا ابحث عن اسم لموظف معين كما بالصورة..

771344615.png

295432019.png

يعني اكتب اسم الموظف واظغط Enter بالكيبورد يظهر لي الموظف المطلوب واذا لايوجد يظهر لي بانه غير موجود على شكل رسالة تنبيه.

ويكون عرض النتيجة كما في الصورة اي يعني سجل منفرد...وليس سجل متعدد او مستمر ..يعني اذا كان هناك عشر اسماء احمد لهم نفس الاسم

يظهر لي اسم اول احمد مع جميع معلوماته وعند ظغط زر Enter من جديد يظهر الموظف احمد الثاني وهكذا البقية.. ارجوا ان وصلت الفكرة بارك الله بيكم..

وياريت يكون الشرح بالصور خطوة خطوة حتى تعم الفائدة ونتعلم كيف عمل هذا الزر من الصفر.

وهذه المرفقات

Employye.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

17 إجابة على هذا السؤال .

  • 0

تفضل اخي الكريم

الملف بعد التعديل بناء على طلبك

1. نفس المواصفات السابقه في عملية البحث والرسائل

2. تم اضافة بعض التعديلات على زر الأمر بحيث يصبح لون الخط أحمر اذا كان هناك مزيد من البحث ويتغير اسمه من ( بحث ) الى ( اكمال البحث ) ثم يعود الى طبيعته

3. اذا وصل البحث الى آخر سجل يخبرك بأنه اخر سجل تم البحث عنه

اما بالنسبه للشرح فالمثال لا يحتاج الى شرح فهو يشرح نفسه بنفسه

1. قم بعمل مربع نص غير منضم واعطه اسم مثلا txtSearch في اي نموذج مبني على الجدول

2. قم بعمل زر امر مثلا بجانب مربع النص واعطه اسم مثلا cmdSearch

3. في اجراء الحدث عند النقر قم بنسخ كامل الكود وضعه في النموذج الجديد

ملاحظة : ستجد اسم الجدول واسم حقل الإسم في الكود قم بتغييرها لما هو موجود لديك ( اذا كان ليس هو نفس الجدول واسم الحقل )

za-EmployyeUP.rar

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 1

السلام عليكم

اخي عراق الغالي

عملت مربع نص غير منضم وسميتهه txtsearch

لكن عند عمل زر امر تطلع خيارات مثل ( التنقل بين السجلات او ماشابه) ماذا اختار او هل اعمل كنسل

او التالي رغم ذلك عملت بس مااعرف اين الصح وسميته cmdreaserch

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

وغيرت اسم الحقل الىstudent ومااشتغل عندي

اريدك تشوف اين الخطأ بالملف المرفق

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

والسلام عليكم اخي الغالي ومشكور مقدما

student.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اخي الكريم

لقد قمت ببعض التعديلات وتغيير تسمية الحقل (اسم الموظف) وغيرها على مثالك وارجو ان يكون قريب لما طلبته،،،

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

ملاحظات:

قمت بإضافت حقلين غير منظمين احدهما مخفي (قم بالاطلاع على الكود في امر On change)

في النموذج الفرعي وفي استعلام النموذج... قم بالاطلاع على محتواه

ارجو ان اكون قد وفقت في تلبية طلبك

تحيااااتي،،،

نصيحة: تجنب تسمية الحقول والجداول باللغة العريبة

Employye2.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا عالمرور

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

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

يعني اكتب اسم احمد يظهر لي فقط احمد مع عنوانه وتاريخ تعيينه مثلااااااا...

عالعموم شكرا على مجهودك..لكن ليس هو المطلوب..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الفاضل : sweety78

السلام عليكم ورحمة الله وبركاته

بارك الله بك على المشاركه و الإدلاء بدلوك في هذا الموضوع

وتأكد ان لك ان شاء الله اجران اجر المساعدة واجر المحاوله

وهذا لا يقلل من مشاركتك او عطاءك في المنتدى

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

اخي الفاضل : عراق الغالي

السلام عليكم ورحمة الله وبركاته

قد ترغب في هذا الحل حسب المواصفات التي طلبتها وهذا لا يقلل من عطاء استاذنا sweety78 في المشاركه

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

post-15367-064689500 1321396367_thumb.gi

الحالة الثانية : في حال كان هناك اكثر من اسم مثل ( احمد ) في الجدول فسيستمر معك ظهور الرساله حتى نهاية الإسم ( احمد ) وحتى لو كان مليون اسم ( لأحمد ) .

post-15367-030763800 1321396553_thumb.gi

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

post-15367-015742800 1321396666_thumb.gi

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

post-15367-004585800 1321396726_thumb.gi

za-EmployyeUP.rar

بالتوفيق

تم تعديل بواسطه zahrah
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا اخت زهرة واتشرف بردك ومية هلا بعودتك مرة اخرى لان ماشاء الله كل مواضيع الاخت زهرة ودروسها موجودة بالحاسبة واتشرف ان اتعلم من الاخت زهرة.ودائما مااحلم اكون مبرمج ناجح مثل حضرتكي لكن لااعرف كيف البداية.

المهم اخت زهرة...

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

الى الاحمد الثاني اذا ضغطنا زر Enter (اي فقط يعرض نتيجة واحدة)

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

حتى استطيع ان انفذها على كثير من الامثلة وتعم الفائدة للجميع..

وممنون جدا وتشرفت بمروركي....

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

عملت نفس هذا النموذج من جديد باسم اخرEmpTable

وعملت مثل ماتفضلتي من الخطواتمن مربع نص وزر امر وعملت كوبي للكود والصقته.

لكن تظهر لي هذه الرسالة بوجود الخلل اين لااعرف..

559946421.png

ومشكلة ثانية اخ زهرة ولو طولت عليكي

بخصوص الكود قلتي هناك فيه اسم الجدول واسم الحقل..اسم الحقل شاهدته بالكود وهو "[EmpName]" لكن اسم الجدول لم اجده بالكود فممكن تشرحيلي

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

وهذا الكود لحضرتكي

Option Compare Database

Private Sub cmdSearch_Click()

Dim strSearch As String

Dim rs As Object

Set rs = Me.RecordsetClone

If IsNull(Me![txtSearch]) Or (Me![txtSearch]) = "" Then

MsgBox "رجاء ادخل اسم للبحث عنه", vbOKOnly, "خطأ في البحث"

Me![txtSearch].SetFocus

Exit Sub

End If

strSearch = Me![txtSearch]

With rs

.FindNext "[EmpName] = '" & strSearch & "'"

If .EmpName <> strSearch Then

MsgBox "لا يوجد سجل بهذا الإسم : " & strSearch, , "غير موجود"

Me.txtSearch = ""

Me![txtSearch].SetFocus

ElseIf .NoMatch Then

MsgBox "آخر سجل في البحث عن : " & strSearch, , "آخر سجل"

Me.cmdSearch.Caption = "بحث"

Me.txtSearch = ""

Me![txtSearch].SetFocus

Me.cmdSearch.ForeColor = RGB(0, 0, 255)

DoCmd.GoToRecord , , acFirst

Else

Me.Bookmark = .Bookmark

MsgBox "تم ايجاد اسم : " & strSearch, , "مبروك"

Me.cmdSearch.Caption = "اكمال البحث"

Me.cmdSearch.ForeColor = RGB(255, 0, 0)

End If

End With

rs.Close

Set rs = Nothing

End Sub

وهذا المرفق

za-EmployyeUP.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الفاضل

غير اسم النص من ( نص9 ) الى txtSearch

post-15367-076801300 1321469151_thumb.gi

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

الأن تم الإسناد الى Set rs = Me.RecordsetClone مباشرة بدون اسم الجدول في الكود لأنه هنا يمثل مصدر السجلات الحالية

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لا اعرف كيف اشكركي اختنا الفاضلة

تمت الاجابة بعد محاولات عدة لان الان عملت نفس الخطوات من جديد وغيرت اسم مربع النص ولكن لم تنجح ايضا..

المهم عملت نموذج من جديد وبنفس الخطوات ونجح الامر...واشتغل زر البحث..

جزاكي الله الف خير اخت زهرة وممنون جدا منكي

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك اخت زهرة ... اقسم بالله انني مسرور من عودتك جدا للمنتدى بعد هذا الغياب الطويل ... لقد استفدت من ما شرحته في السابق جدا جدا لدرجة انني احترفت صناعة قواعد البيانات بعد ان جاوزت ال60 من العمر.. بارك الله لك في اسرتك واتنى ان يكتب الله لك هذا الجهد الطيب في ميزان حسناتك .. مع رجائي ان تتحلي بالصبر من تكرار اسئلتنا .. فنحن نتعلم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اخي عراق الغالي الغالي الغالي

ممكن تشرح الخطوات لعمل زر البحث بالتفصيل الممل وخصوصا

اضافة الكود ونحن مبتدئين ونحب نتعلم

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

تم تعديل بواسطه سلامنا لكم
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اخي عراق الغالي الغالي الغالي

ممكن تشرح الخطوات لعمل زر البحث بالتفصيل الممل وخصوصا

اضافة الكود ونحن مبتدئين ونحب نتعلم

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

منور اخي

الطريقة سهلة ان شاءالله فقط طبق خطوات الاخت زهرة بالتفصيل

بعد ما عملت النموذج

1. قم بعمل مربع نص غير منضم واعطه اسم مثلا txtSearch في اي نموذج مبني على الجدول

2. قم بعمل زر امر مثلا بجانب مربع النص واعطه اسم مثلا cmdSearch

3. في اجراء الحدث عند النقر قم بنسخ كامل الكود وضعه في النموذج الجديد( هذا الكلام على زر الامر)

وهذا الكود

Option Compare Database

Private Sub cmdSearch_Click()

Dim strSearch As String

Dim rs As Object

Set rs = Me.RecordsetClone

If IsNull(Me![txtSearch]) Or (Me![txtSearch]) = "" Then

MsgBox "ÑÌÇÁ ÇÏÎá ÇÓã ááÈÍË Úäå", vbOKOnly, "ÎØà Ýí ÇáÈÍË"

Me![txtSearch].SetFocus

Exit Sub

End If

strSearch = Me![txtSearch]

With rs

.FindNext "[EmpName] = '" & strSearch & "'"

If .EmpName <> strSearch Then

MsgBox "áÇ íæÌÏ ÓÌá ÈåÐÇ ÇáÅÓã : " & strSearch, , "ÛíÑ ãæÌæÏ"

Me.txtSearch = ""

Me![txtSearch].SetFocus

ElseIf .NoMatch Then

MsgBox "ÂÎÑ ÓÌá Ýí ÇáÈÍË Úä : " & strSearch, , "ÂÎÑ ÓÌá"

Me.cmdSearch.Caption = "ÈÍË"

Me.txtSearch = ""

Me![txtSearch].SetFocus

Me.cmdSearch.ForeColor = RGB(0, 0, 255)

DoCmd.GoToRecord , , acFirst

Else

Me.Bookmark = .Bookmark

MsgBox "Êã ÇíÌÇÏ ÇÓã : " & strSearch, , "ãÈÑæß"

Me.cmdSearch.Caption = "ÇßãÇá ÇáÈÍË"

Me.cmdSearch.ForeColor = RGB(255, 0, 0)

End If

End With

rs.Close

Set rs = Nothing

End Sub

حددت لك بالكود بالالوان للتوضيح

اللون الاحمر هذا اسم مربع النص وزر الامر اللي عملناهم

واللون الازرق هذا اسم الحقل في الجدول والذي باسم EmpName

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

لااكثر ولااقل

ارجو ان وصلت الفكرة ان شاء الله

تم تعديل بواسطه عراق الغالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اخي عراق الغالي

عملت مربع نص غير منضم وسميتهه txtsearch

لكن عند عمل زر امر تطلع خيارات مثل ( التنقل بين السجلات او ماشابه) ماذا اختار او هل اعمل كنسل

او التالي رغم ذلك عملت بس مااعرف اين الصح وسميته cmdreaserch

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

وغيرت اسم الحقل الىstudent ومااشتغل عندي

اريدك تشوف اين الخطأ بالملف المرفق

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

والسلام عليكم اخي الغالي ومشكور مقدما

اخي بخصوص زر الامر من تطلع خيارات اختار الغاء يعني مشيت صحيح.

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

ضفتلك الكود الاصلي وغيرت فقط اسم العمود من empName في الجدول القديم الى Student(بالكود كله)

والبرنامج اشتغل وتفضل هذا المرفق

تحياتي

وعملتك + للنقاط تحية مني الك

سلام

New student.rar

تم تعديل بواسطه عراق الغالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

نزلت الملف new student

وكتبت( بمربع النص6) في النموذج اسم Ahmed

وضغطت على search ولم يضهر غير السجل الاول وتحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هنا يجب كتابة الاسم كامل يعني مثلا

Ahmed Ali

سلام غليكم اخي

كتبت احمد علي ولم يشتغل عندي

وجربت اكثر من اسم (كامل الاسم) ولم يشتغل

راح اجربة على جهاز ثاني

جزاك الله خير وماقصرت معي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سلام غليكم اخي

كتبت احمد علي ولم يشتغل عندي

وجربت اكثر من اسم (كامل الاسم) ولم يشتغل

راح اجربة على جهاز ثاني

جزاك الله خير وماقصرت معي

انا الممنون واعذرني اخاف قصرت معاك لان صراحة بالاكسس مستواي وسط بالاكسس..

والبرنامج شغال وتم تجربته..حاول مرة اخرى..

تحياتي

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .