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

كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر

اذهب الى الأسفل

ok كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر

مُساهمة من طرف ???? الأربعاء فبراير 01, 2012 3:53 pm

و بالنسبة للذي يريد عرض نتائج البحث في form2 باستعمال كود شامل لقاعدة البيانات ؟؟  مع اعطاء الكود المناسب للبحث  مع جزيل الشكر
Anonymous
????
زائر


الرجوع الى أعلى الصفحة اذهب الى الأسفل

ok رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر

مُساهمة من طرف أحمد مناع السبت فبراير 04, 2012 12:18 pm

khasd كتب:و بالنسبة للذي يريد عرض نتائج البحث في form2 باستعمال كود شامل لقاعدة البيانات ؟؟ مع اعطاء الكود المناسب للبحث مع جزيل الشكر



أهلا وسهلا الاخت الفاضلة khasd



فمهت من سؤالك أن برنامجك مكون من عدد 2 نموذج ...النموذج الاول خاص بالعمليات الرئسية على قاعدة البيانات مثل الاضافة و الحذف و التعديل و الحفظ و أيضا أوامر التنقل بين السجلات .......و النموذج الاخر 2 خاص بنتائج البحث .....مثل الصورة التالية :




كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر 154



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




كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر 238







مع العلم بأن تقنية الاتصال بقاعدة البيانات هى مكتبة ado وليس أداة ado الذى سألتى عنها فى مشاركة سابقا ...فأن كنتى تقصدين هذا فاليكى الحل :



الخطوة الاولى : هى أضافة وحدة برمجية للمشروع Module وذلك عن طريق القائمة Project ثم نختار add Module كما فى الشكل التالى :


كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر 155

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

ثم بعد ذلك نفتح الموديل ثم تعريف متغيرين للاتصال بقاعدة البيانات و الجدول وذلك عن طريق الكود التالى :

الكود:
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 كما فعلنا فى مشاركة سابقة _كود أظهار البيانات التى سألتى عنه سابقا_

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

وهكذا سيكون الكود بالكامل فى الموديل كما فى الشكل التالى :

كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر 156

بهذا نكون قد أنتهينا من برمجة الوحدة البرمجية موديل ....

الخطوة الثانية : برمجة النموذج الاول _نموذج العمليات الرئيسية على قاعدة البيانات :

كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر 154

-بداية سنقوم بعمل أجراء لاظهار بيانات قاعدة البيانات فى مربعات النصوص الاربعة _رقم العميل-أسم العميل-التليفون-العنوان _وذلك عن طريق الكود التالى :


الكود:
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 ...وما عليك الان الا برمجة زر الاضافة و التعديل و الحفظ كما تعلمنا عادى خالص ...

الخطوة الثالثة :برمجة نموذج البحث

كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر 238


_ بداية سنقوم بتعريف متغريين من نوع 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

شرح الكود فى المشاركة القادمة أن شاء الله تعالى Very Happy:D

و بالتالى فأن الكود النهائى تحت زر "ابحث " فى نموذج البحث سيكون كما فى الشكل التالى :

كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر 157
كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر 239
كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر 330


عدل سابقا من قبل أحمد مناع في الأربعاء ديسمبر 25, 2013 4:59 am عدل 1 مرات

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

ok رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر

مُساهمة من طرف أحمد مناع السبت فبراير 04, 2012 12:22 pm

المثال هنـــــــــــــــــــــــــــــــــــــــــا Smile

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

ok رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر

مُساهمة من طرف ???? الإثنين فبراير 06, 2012 4:30 pm

حفظك ربي ورعاك شكرا على الشرح اقدر لك مجهوداتك وشكرا لك
Anonymous
????
زائر


الرجوع الى أعلى الصفحة اذهب الى الأسفل

ok رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر

مُساهمة من طرف sam_mom11 الأحد أكتوبر 14, 2012 6:39 pm

الربط لا يعمل
sam_mom11
sam_mom11
.
.

تاريخ التسجيل : 14/10/2012
المساهمات : 1
النقاط : 1
التقيم : 0
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

ok رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر

مُساهمة من طرف ahmedismayl الأحد يناير 19, 2014 2:01 pm

روعة روعة روعة 
ولكن الرابط لا يعمل
ahmedismayl
ahmedismayl
..
..

تاريخ التسجيل : 15/01/2014
المساهمات : 24
النقاط : 30
التقيم : 0
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

ok رد: كود البحث بأستخدام مكتبة ado وعرض النتائج فى نموذج أخر

مُساهمة من طرف gadr الجمعة أكتوبر 30, 2015 10:55 pm

الرابط لا يعمل ياريت ترفع المثال مره اخري
gadr
gadr
...
...

تاريخ التسجيل : 16/11/2014
المساهمات : 45
النقاط : 57
التقيم : 0
الدولة : ليبيا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى