منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

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


عندي طريقة أستخدمتها قديماً، بحيث يتم البحث على أساس مربعات النص التي ليست فارغة فقط،
ويمكن إضافة خيارات CheckBox و RadioButton أيضاً.

لاحظوا: توجد مسافة موجود في نهاية كل جملة نصية.
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   Dim sql As String = "SELECT * FROM [table1] "

   Dim where As String = ""
   If Me.txtName1.Text.Trim <> "" Then where &= "AND [name1] = @name1 "
   If Me.txtName2.Text.Trim <> "" Then where &= "AND [name2] = @name2 "
   If Me.txtName3.Text.Trim <> "" Then where &= "AND [name3] = @name3 "

   If where <> "" Then sql &= "WHERE " & where.Substring(4)

   Dim comm As New OleDb.OleDbCommand(sql, conn)
   If Me.txtName1.Text.Trim <> "" Then comm.Parameters.AddWithValue("@name1", Me.txtName1.Text.Trim)
   If Me.txtName2.Text.Trim <> "" Then comm.Parameters.AddWithValue("@name2", Me.txtName2.Text.Trim)
   If Me.txtName3.Text.Trim <> "" Then comm.Parameters.AddWithValue("@name3", Me.txtName3.Text.Trim)

   MsgBox(sql)
   Dim dt As New DataTable

   Dim da As New OleDb.OleDbDataAdapter(comm)

   If da.Fill(dt) > 0 Then
       '
       '
       '
   End If

End Sub


يجب الانتباه عند نسخ الكود قد تجد مسافة داخل أحد أسطر الكود (بسبب خلل في عرض الكود) مما يظهر خطأ فيجب حذف المسافة المدرجة


السلام عليكم ورحمة الله وبركاته
السلام عليكم اخي العزيز ابو رائد

فكرة سهلة لكن مفيدة جدا

بارك الله فيك
شكرا على هذه الاكواد لكن لي استفسار ...
انا استخدم ACECSES 2010
هل يمكن ان تعطيني الكود خاص بالبحث ... و شكرا
بارك الله فيك فعلاً كود مفيد Blush
انا لدي في برنامجي عدد 11 كومبو بوكس اريد البحث عن طريقها حسب استخدام المستخدم لها .. يعني احيانا يختار واحد منها فقط واحيانا يختار اثنين او اكثر وبالطريقة التي يرغب بها .. علما بان قاعدة البيانات التي استخدمها من نوع SQL .. ولم اجد طريقة تحقق هذه العملية الى حد الان !!
بارك الله فيك
ما هى مشكلة الطريقة ساهلة
كود :
sql1=" select * from main where num <> -11111111123

if isnumeric(textbox1.text) then sql1 =sql1 & "  and num=" & textbox1.text
if text2.text <> "" then sql1 =sql1 & " and name1 like'" & text2.text & "'"
if combo1.selectindex<> -1 then sql1=sql1 & " and comp1=" & combo1.selectvalue
if combo2.selectindex<> -1 then sql1=sql1 & " and comp2=" & combo2.selectvalue

elc