تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
[مثال] طريقة البحث المتقدم بإنشاء جملة استعلام متقدمة
#1
السلام عليكم ورحمة الله وبركاته


عندي طريقة أستخدمتها قديماً، بحيث يتم البحث على أساس مربعات النص التي ليست فارغة فقط،
ويمكن إضافة خيارات 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


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


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

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

بارك الله فيك
الرد }}}
تم الشكر بواسطة: @@أبورائد@@
#3
شكرا على هذه الاكواد لكن لي استفسار ...
انا استخدم ACECSES 2010
هل يمكن ان تعطيني الكود خاص بالبحث ... و شكرا
الرد }}}
تم الشكر بواسطة:
#4
بارك الله فيك فعلاً كود مفيد Blush
اللَّهُمَّ أَنْتَ رَبِّي ، لا إِلَه إِلاَّ أَنْتَ خَلَقْتَني وأَنَا عَبْدُكَ ، وأَنَا على عهْدِكَ ووعْدِكَ ما اسْتَطَعْتُ ، أَعُوذُ بِكَ مِنْ شَرِّ ما صنَعْتُ ، أَبوءُ لَكَ بِنِعْمتِكَ علَيَ ، وأَبُوءُ بذَنْبي فَاغْفِرْ لي ، فَإِنَّهُ لا يغْفِرُ الذُّنُوبِ إِلاَّ أَنْتَ .
الرد }}}
تم الشكر بواسطة:
#5
انا لدي في برنامجي عدد 11 كومبو بوكس اريد البحث عن طريقها حسب استخدام المستخدم لها .. يعني احيانا يختار واحد منها فقط واحيانا يختار اثنين او اكثر وبالطريقة التي يرغب بها .. علما بان قاعدة البيانات التي استخدمها من نوع SQL .. ولم اجد طريقة تحقق هذه العملية الى حد الان !!
*************************

أنا الذي نظر الأعمى إلى أدبي ...
وأسمعت كلماتي من به صممُ

الرد }}}
تم الشكر بواسطة:
#6
بارك الله فيك
الرد }}}
تم الشكر بواسطة:
#7
ما هى مشكلة الطريقة ساهلة
كود :
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
من اعمالنا نخطى ومن اخطائنا نتعلم ولاشى مستحيل
الرد }}}
تم الشكر بواسطة:



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


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