تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
طريقة بحث سهلة (2)
#1
بسم الله الرحمن الرحيم
السلام عليكم إخواني الأعزاء ورحمة الله وبركاته
لقد تناولنا في المثال السابق طريقة بحث سهلة على مستوى الحقول التي تحتوي قيم نصية، أما في هذا المثال سنضيف الحقول التي تحتوي على قيم من نوع (تاريخ).

* قاعدة البيانات بعنوان MyDB من نوع Microsoft Access
* الجدول بعنوان tblPerson
* الحقول : ID / MyDate / Fname / Lname / Address

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

صورة عن تصميم المشروع في VB.NET :
   

الأكواد :
قم بالإعلان عن المتغيرات التالية :
PHP كود :
Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\MyDB.accdb")
 
   Dim sqlstr As String "Select * From tblPerson"
 
   Dim da As OleDbDataAdapter
    Dim dt 
As New DataTable 

عند الحدث load:
PHP كود :
da = New OleDbDataAdapter(sqlstrcon)
 
       dt.Clear()
 
       da.Fill(dt)

 
       Me.DGVSearch.DataSource dt 

في زر الأمر btnSearch :
PHP كود :
Dim Query As String "Select * From tblPerson Where 1=1"

 
       If txtStartDate.Text <> "" Then
            Query 
Query " AND MyDate >= #" txtStartDate.Text "#"
 
       End If


 
       If txtEndDate.Text <> "" Then
            Query 
Query " AND MyDate <= #" txtEndDate.Text "#"
 
       End If


 
       If txtFname.Text <> "" Then
            Query 
Query " AND Fname = '" txtFname.Text "'"
 
       End If


 
       If txtLname.Text <> "" Then
            Query 
Query " AND Lname = '" txtLname.Text "'"
 
       End If


 
       If txtAddress.Text <> "" Then
            Query 
Query " AND Address = '" txtAddress.Text "'"
 
       End If

 
       Dim cmd As New OleDbCommand(Querycon)
 
       da = New OleDbDataAdapter(cmd)
 
       dt.Clear()
 
       da.Fill(dt)

 
       Me.DGVSearch.DataSource dt 

في زر الأمر btnReset :
PHP كود :
da = New OleDbDataAdapter(sqlstrcon)
 
       dt.Clear()
 
       da.Fill(dt)

 
       DGVSearch.DataSource dt

        Me
.txtStartDate.Clear()
 
       Me.txtEndDate.Clear()
 
       Me.txtFname.Clear()
 
       Me.txtLname.Clear()
 
       Me.txtAddress.Clear() 

التطبيق :
مثال 1 :
قبل البحث :
   

بعد البحث :
   

مثال 2 :
قبل البحث :
   

بعد البحث :
   

مرفق المشروع :
.rar   khodor - AdvancedSearch.rar (الحجم : 89.62 ك ب / التحميلات : 332)
أتمنى لكم التوفيق

سؤال : ما عدد الناجحين أو الراسبين في DataGrid؟
قم بإنشاء إجرائين مستقلين وليكن إسم الإجراء الأول Sub CountSuccess() والإجراء الثاني Sub CountFailed():
الإجراء الأول :
PHP كود :
Sub CountSuccess()
 
       Dim Counter As Integer
        For i 
0 To DGVSearch.Rows.Count 1
            If Not IsDBNull
(DGVSearch.Rows(i).Cells(5).ValueThen
                If DGVSearch
.Rows(i).Cells(5).Value "Success" Then
                    Counter 
Counter 1
                    lblSuccess
.Text Counter
                End 
If
 
           End If
 
       Next
    End Sub 

الإجراء الثاني :
PHP كود :
Sub CountFailed()
 
       Dim Counter As Integer
        For i 
0 To DGVSearch.Rows.Count 1
            If Not IsDBNull
(DGVSearch.Rows(i).Cells(5).ValueThen
                If DGVSearch
.Rows(i).Cells(5).Value "Failed" Then
                    Counter 
Counter 1
                    lblFailed
.Text Counter
                End 
If
 
           End If
 
       Next
    End Sub 

ثم قم باستدعاء الإجرائين من خلال الحدث Load:
PHP كود :
 Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        da 
= New OleDbDataAdapter(sqlstrcon)
 
       dt.Clear()
 
       da.Fill(dt)

 
       Me.DGVSearch.DataSource dt
        CountFailed
()
 
       CountSuccess()

 
   End Sub 

تطبيق :
   

مرفق المشروع بعد التحديث :
.rar   khodor1 - AdvancedSearch.rar (الحجم : 91.43 ك ب / التحميلات : 304)
أتمنى لكم التوفيق

أيضا يمكن استخدام هذه الطريقة في استخراج عدد الناجحين أ الراسبين من خلال Linq to Sql
PHP كود :
Sub CountSuccess()
        
Dim count = (From rw As DataGridViewRow In DGVSearch.Rows Where rw.Cells(5).Value "Success"
                     
Select rw.Cells(0).Value).Count()

        
lblSuccess.Text count
    End Sub

    Sub CountFailed
()
        
Dim count = (From rw As DataGridViewRow In DGVSearch.Rows Where rw.Cells(5).Value "Failed"
                     
Select rw.Cells(0).Value).Count()

        
lblFailed.Text count
    End Sub 
أتمنى لكم التوفيق
عن مولا نا علي ابن أبي طالب عليه السلام :
إضرب بعض الرأي ببعض يتولد منه الصواب.
الرد }}}}
#2
الف شكرا استاذذي الكريم
الرد }}}}
تم الشكر بواسطة:
#3
بالتوفيق إن شاء الله .
الرد }}}}
تم الشكر بواسطة:
#4
شكرا جزيلا
الرد }}}}
تم الشكر بواسطة: yasser_72 , yasser_72
#5
جزاك الله خيرا ماشاءالله عمل جميل
سبحان الله والحمدلله ولا إله إلا الله والله أكبر

 رَبِّ اغْفِرْ لِي وَلِوَالِدَيَّ
Angel

Instgram : up.2.dates
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مثال] طريقة حفظ الإعدادات في محرر التسجيل Registry Editor سعود الشامان 3 208 27-10-17, 05:45 AM
آخر رد: سعود الشامان
  [VB.NET] طريقة معرفة لغة الإدخال الحالية How to find the current input language سعود الشامان 2 103 07-10-17, 02:42 PM
آخر رد: سعود الشامان
  [مثال] طريقة تغيير لغة الإدخال بشريط المهام سعود الشامان 2 176 05-10-17, 12:56 AM
آخر رد: سعود الشامان
  [مثال] طريقة أخرى للتصاريح Acces سعود الشامان 2 198 05-10-17, 12:55 AM
آخر رد: سعود الشامان
  [VB.NET] طريقة عمل برنامج تسجيل دخول احترافى بالفيجوال بيسك 2010 Mina Botros 4 766 18-09-17, 12:48 PM
آخر رد: Mina Botros
  [VB.NET] [VB.NET] الجزء الأول : طريقة عمل برنامج بث مباشر لمباريات ( تصميم و تكويد ) larbi matador 2 237 23-06-17, 05:33 AM
آخر رد: larbi matador
Information [مشروع] طريقة تصميم برنامج قواعد بيانات يحتوي على علاقات بين الجداول (باستخدام الكود فقط) Mohamad Anan 9 6,082 25-02-17, 11:23 PM
آخر رد: sendbad100
  طريقة بحث سهلة khodor1985 4 959 12-01-16, 07:49 PM
آخر رد: AmMo
  [مثال] طريقة تحويل تاريخ مدخل يدوياً كنص الى متغير من نوع تاريخ myalsailamy 2 784 14-12-15, 09:50 PM
آخر رد: عدنان الشمري
  [مثال] طريقة التحقق من وجود نص عربي ضمن نص myalsailamy 1 492 10-12-15, 07:06 PM
آخر رد: boudyonline

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم