كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: فجوال بيسك 6 vb :: قسم نقاش و أستفسارات الاعضاء
صفحة 1 من اصل 1 • شاطر
كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر
و بالنسبة للذي يريد عرض نتائج البحث في form2 باستعمال كود شامل لقاعدة البيانات ؟؟ مع اعطاء الكود المناسب للبحث مع جزيل الشكر
????- زائر
رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر
khasd كتب:و بالنسبة للذي يريد عرض نتائج البحث في form2 باستعمال كود شامل لقاعدة البيانات ؟؟ مع اعطاء الكود المناسب للبحث مع جزيل الشكر
أهلا وسهلا الاخت الفاضلة khasd
فمهت من سؤالك أن برنامجك مكون من عدد 2 نموذج ...النموذج الاول خاص بالعمليات الرئسية على قاعدة البيانات مثل الاضافة و الحذف و التعديل و الحفظ و أيضا أوامر التنقل بين السجلات .......و النموذج الاخر 2 خاص بنتائج البحث .....مثل الصورة التالية :
وعند الضغط على زر البحث كما فى الصورة السابقة يأتى نموذج الثانى ...وهو نموذج البحث كما فى الشكل التالى :
مع العلم بأن تقنية الاتصال بقاعدة البيانات هى مكتبة ado وليس أداة ado الذى سألتى عنها فى مشاركة سابقا ...فأن كنتى تقصدين هذا فاليكى الحل :
الخطوة الاولى : هى أضافة وحدة برمجية للمشروع Module وذلك عن طريق القائمة Project ثم نختار add Module كما فى الشكل التالى :
و الهدف من ذلك كلة هو كتابة كود الاتصال بقاعدة البيانات فى تلك الوحدة البرمجية طالما أننا سنتخدمة فى أكثر من نموذج ....فبدلا من كتابة كود الاتصال فى النموذج الاول ...ثم نكتبة فى النموذج الثانى أو الثالث ....الخ
ثم بعد ذلك نفتح الموديل ثم تعريف متغيرين للاتصال بقاعدة البيانات و الجدول وذلك عن طريق الكود التالى :
- الكود:
Public B As New ADODB.Connection
Public R As New ADODB.Recordset
ويرجى ملاحظة أننا قمنا بتعريف المتغرين بأستخدام الامر Public و ليس عن طريق الامر Dim لاننا الامر الاول يتم أستخدامة على مستوى المشروع ككل أما الامر الثانى Dim يكون على مستوى النموذج أو الحدث فقط
ثم نقوم بأنشاء أجراء على مستوى المشروع و ليكن أسمة egy لنضع فية نص الاتصال بقاعدة البيانات ثم نستخدمه فيما بعد و ذلك بأستخدام الكود التالى :
- الكود:
Sub egy()
If B.State = adStateOpen Then B.Close
B.Provider = "Microsoft.JET.OLEDB.4.0;"
B.Open App.Path & "\project1.mdb"
End Sub
ويرجى ملاحظة أننا أنشأنا الاجراء بأستخدام الامر Sub ثم اسم الاجراء egy ..كما يجب ملاحظة أننا عندما نقوم بأنشاء أجراء على مستوى المشروع ككل لم نستخدم الامر Private قبل sub كما فعلنا فى مشاركة سابقة _كود أظهار البيانات التى سألتى عنه سابقا_
ثم كنت كود الاتصال وفتح قاعدة البيانات عادى جدا كما تعلمنا مع أستخدام سطر جديد وهو السطر رقم واحد فى الكود السابق ...وهو أذا كانت قاعدة البيانات مفتوحة عنئذ أقفلها ....
وهكذا سيكون الكود بالكامل فى الموديل كما فى الشكل التالى :
بهذا نكون قد أنتهينا من برمجة الوحدة البرمجية موديل ....
الخطوة الثانية : برمجة النموذج الاول _نموذج العمليات الرئيسية على قاعدة البيانات :
-بداية سنقوم بعمل أجراء لاظهار بيانات قاعدة البيانات فى مربعات النصوص الاربعة _رقم العميل-أسم العميل-التليفون-العنوان _وذلك عن طريق الكود التالى :
- الكود:
Private Sub datashwo()
If R.RecordCount < 1 Then Exit Sub
Text1.Text = R!ID
Text2.Text = R!Name
Text3.Text = R!TEL
Text4.Text = R!ADRS]
End Sub
يرجى ملاحظة أننا هنا أستخدمنا الامر Private قبل الامر Sub ثم أسم الاجراء datashwo ثم كتبنا كود أظهار البيانات و أعتقد أنك تفهميه جيدا ..
- أما فى حدث تحميل الفورم الاول نضع الكود التالى :
- الكود:
Call egy
R.Open "[table1]", B, adOpenStatic, adLockPessimistic
Call datashwo
شرح الكود :
فى السطر الاول تم أستدعاء الاجراء egy وطبعا هذا الاجراء يحمل نص الاتصال بقاعدة البيانات ...
فى السطر الثانى كود فتح الجدول
فى السطر الثالث تم أستدعاء الاجراء datashwo وهو الخاص بأظهار البيانات فى مربعات النصوص
وهكذا نكون قد أتصالنا وفتحنا قاعدة البيانات كما أننا فتحتنا الجدول table1 ...وما عليك الان الا برمجة زر الاضافة و التعديل و الحفظ كما تعلمنا عادى خالص ...
الخطوة الثالثة :برمجة نموذج البحث
_ بداية سنقوم بتعريف متغريين من نوع String وليكن sField و sFull ولذلك لحفظ القيم المدخلة من المستخدم عن طريق الكمبو1 و الكمبو2 الخاص بكل من الحقل المراد البحث فية و مدى تطابق البحث بنص البحث ...وطبعا هذا الكود سوف يتم كتابته فى قسم تصريحات الفورم 2 :
- الكود:
Dim sField As String
Dim sFull As String
_ سنقوم بعمل أجراء وليكن أسمه SelectField....وذلك لنجعل المتغير sfield يساوى الحق المراد البحث فية وذلك عن طريق الكود التالى :
- الكود:
Private Sub SelectField()
Select Case Combo1.ListIndex
Case 0
sField = "ID"
Case 1
sField = "Name"
Case 2
sField = "tel"
Case 3
sField = "adrs"
End Select
End Sub
سنقوم أيضا بعمل أجراء أخر وليكن Full ...وذلك لجعل المتغير sFull يساوى مدى التطابق الذى سيختارة المستخدم من الكمبو 2 وذلك بأستخدام الكود التالى :
- الكود:
Private Sub Full()
Select Case Combo2.ListIndex
Case 0
sFull = "Full"
Case 1
sFull = "StartWith"
Case 2
sFull = "Contain"
Case 3
sFull = "EndWith"
End Select
End Sub
- نأتى الى زر " أبحث ":
أول كود لهذا الزر هو أستدعاء الاجراء egy وذلك للاتصال بقاعدة البيانات و ذلك عن طريق الكود التالى :
- الكود:
egy
ثم نكتب كود للتأكد من أن مربع النص به قيم و الا أظهار رسالة للمستخدم تخبرة أن نص البحث فارغ عن طريق الكود التالى :
- الكود:
If Text1.Text = "" Then
MsgBox "عفوا نص البحث فارغ", vbInformation, "البحث"
Text1.SetFocus
Exit Sub
End If
ثم نكتب أستدعاء كلا من الاجراء SelectField وFull وذلك بأستخدام الكود التالى :
- الكود:
Call Full
Call SelectField
ثم نكتب الكود التالى للتأكد أذا كان الجدول مفتوح يتم أغلاقة بأستخدام الكود التالى :
- الكود:
If R.State = adStateOpen Then R.Close
ثم بعد ذلك نكتب الكود التالى وهو الخاص بالبحث :
- الكود:
Select Case sFull
Case "Full"
sql = "select * from Table1 where " & sField & " = '" & (Text1.Text) & "'"
R.CursorType = adOpenStatic
R.CursorLocation = adUseClient
R.LockType = adLockOptimistic
R.Open sql, B, , , adCmdText
If R.RecordCount > 0 Then
Set DataGrid1.DataSource = R
Else
MsgBox "لايوجد نتائج للبحث"
R.Close
End If
Case "StartWith"
sql = "select * from Table1 where " & sField & " like '" & (Text1.Text) & "%'"
R.CursorType = adOpenStatic
R.CursorLocation = adUseClient
R.LockType = adLockOptimistic
R.Open sql, B, , , adCmdText
If R.RecordCount > 0 Then
Set DataGrid1.DataSource = R
Else
MsgBox "لايوجد نتائج للبحث"
R.Close
End If
Case "Contain"
sql = "select * from Table1 where " & sField & " like '%" & (Text1.Text) & "%'"
R.CursorType = adOpenStatic
R.CursorLocation = adUseClient
R.LockType = adLockOptimistic
R.Open sql, B, , , adCmdText
If R.RecordCount > 0 Then
Set DataGrid1.DataSource = R
Else
MsgBox "لايوجد نتائج للبحث"
R.Close
End If
End Select
شرح الكود فى المشاركة القادمة أن شاء الله تعالى :D
و بالتالى فأن الكود النهائى تحت زر "ابحث " فى نموذج البحث سيكون كما فى الشكل التالى :
عدل سابقا من قبل أحمد مناع في الأربعاء ديسمبر 25, 2013 4:59 am عدل 1 مرات
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر
المثال هنـــــــــــــــــــــــــــــــــــــــــا
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر
حفظك ربي ورعاك شكرا على الشرح اقدر لك مجهوداتك وشكرا لك
????- زائر
sam_mom11- .
- تاريخ التسجيل : 14/10/2012
المساهمات : 1
النقاط : 1
التقيم : 0
الدولة :
الجنس :
رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر
روعة روعة روعة
ولكن الرابط لا يعمل
ولكن الرابط لا يعمل
ahmedismayl- ..
- تاريخ التسجيل : 15/01/2014
المساهمات : 24
النقاط : 30
التقيم : 0
الدولة :
الجنس :
رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر
الرابط لا يعمل ياريت ترفع المثال مره اخري
gadr- ...
- تاريخ التسجيل : 16/11/2014
المساهمات : 45
النقاط : 57
التقيم : 0
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: فجوال بيسك 6 vb :: قسم نقاش و أستفسارات الاعضاء
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الخميس أبريل 25, 2024 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
الخميس أبريل 25, 2024 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft