منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] بحث باستخدام 5 combobox - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : [سؤال] بحث باستخدام 5 combobox (/showthread.php?tid=790)



بحث باستخدام 5 combobox - AEDC - 31-10-13

السلام عليكم

عندي فورم و 5 combobox

combo1 خاص بالأسماء؛ combo2 المهن : combo3 السنوات ؛ combo4 الأشهر ؛ combo5 الأيام ؛

البرنامج يقوم بالبحث داخل قاعدة البيانات حسب قيمة كل combobox وحيدة ( أي يبحث إما حسب الأسماء أو المهن أو السنوات أو الأشهر أو الأيام )

المشكل هو كيف أقوم بالبحث باستخدام أكتر من combo في نفس الوقت ( أي بستخدام من 2 إلى 5 combo في وقت واحد )

شكر مسبق للجميع


RE: بحث باستخدام 5 combobox - تركي الحلواني - 31-10-13

هذا كود لعمل 3 استعلامات في وقت واحد

لو امكن ترفق مثالك ليتم التعديل علية
PHP كود :
sgl "SELECT * FROM SERVES where [IDCAR]='" Trim(ID_CAR.Text) & "'" "
 or [DATMANTH] =" 
Val(DATA_MANTH.Text) & "OR [CAR_ID]='" Trim(NO_CAR.Text) & "'" 



RE: بحث باستخدام 5 combobox - asto - 01-11-13

قيمة الكومبو الثاني خذه و ضعه في شرط

يعني تحت امر البحث

تكتب مجموعة من الاوامر تسند فيها كل حقل الى متغير او تكست بوكس

و تضع امر شرطي اذا مثلا المتغير كذا = قيمة الكومبو 2

ارجو ان تكون قد فهمتني

و مثال :

كود :
Data1.Recordset.FindFirst "[word]='" & Trim$(Text1.Text) & "'"
If Not Data1.Recordset.NoMatch Then
Text15.Text = Data1.Recordset.Fields!word
Text16.Text = Data1.Recordset.Fields!mean
Text17.Text = Data1.Recordset.Fields!no
If Text1.Text = Text15.Text Then print "55555555555555555555555555555555"
End If



RE: بحث باستخدام 5 combobox - ZOUZOU - 25-12-13

(General)
Dim CN As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String

Private Sub Form_Load()
If CN.State = adStateOpen Then CN.Close
CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & App.Path & "\db.mdb" & ";"
rs.Open "Select DISTINCT Date_Prog_RT, PROG from CND ", CN, adOpenKeyset, adLockOptimistic
If Not (rs.EOF And rs.BOF) Then
Do Until rs.EOF
Combo1.AddItem rs.Fields("Date_Prog_RT") & Value & Value
Combo2.AddItem rs.Fields("PROG") & Value & Value
rs.MoveNext
Loop
End If
End Sub

Private Sub Command1_Click()
If rs.State = adStateOpen Then rs.Close
rs.Open "SELECT Joint_No, Joint_Size, Thk, Root, Cap, ISO, Line_Class from [CND] where [Date_Prog_RT] Like '" & Combo1 & "' AND [PROG] Like '" & Combo2 & "' ORDER BY ISO ASC, Joint_No ASC", CN, adOpenStatic, adLockReadOnly
Set DataReport8.DataSource = rs
DataReport8.Sections("Section2").Controls("label1").Caption = Combo1
DataReport8.Sections("Section2").Controls("label13").Caption = Date
DataReport8.Show
End Sub


RE: بحث باستخدام 5 combobox - ناجي إبراهيم - 25-12-13

السلام عليكم...

اكتب دالة لإنشاء عبارة WHERE حسب حالات الـ ComboBoxes (اجعل البند الأول في كل ComboBox بنداً فارغاً حتى يتسنى للمستخدم استبعاد أي واحد من التصفية أو البحث):

الكود التالي يستبعد أي ComboBox نصه فارغ (Text = ""):

كود :
Private Function CreateWherePart() As String
    Dim Result As String
    Dim Temp As String
    
    Result = ""
    
    ' الاسم
    Temp = Trim$(Combo1.Text)
    If Temp <> "" Then
        Result = "WHERE (name_field = '" & Temp & "')"
    End If
    
    ' المهنة
    Temp = Trim$(Combo2.Text)
    If Temp <> "" Then
        If Result = "" Then
            Result = "WHERE (job_field = '" & Temp & "')"
        Else
            Result = Result & " AND (job_field = '" & Temp & "')"
    End If
    
    ' السنة
    Temp = Trim$(Combo3.Text)
    If IsNumeric(Temp) Then
        If Result = "" Then
            Result = "WHERE (year_field = " & Temp & ")"
        Else
            Result = Result & " AND (year_field = " & Temp & ")"
    End If
    
    ' الشهر
    Temp = Trim$(Combo4.Text)
    If IsNumeric(Temp) Then
        If Result = "" Then
            Result = "WHERE (month_field = " & Temp & ")"
        Else
            Result = Result & " AND (month_field = " & Temp & ")"
    End If
    
    ' اليوم
    Temp = Trim$(Combo5.Text)
    If IsNumeric(Temp) Then
        If Result = "" Then
            Result = "WHERE (day_field = " & Temp & ")"
        Else
            Result = Result & " AND (day_field = " & Temp & ")"
    End If
    
    CreateWherePart = Result
End Function

Private Sub Command1_Click()
    Dim SqlStr As String
    Dim WherePart As String
    
    SqlStr = "SELECT * FROM table_name"
    WherePart = CreateWherePart
    If WherePart <> "" Then
        SqlStr = SqlStr & " " & WherePart
    End If
    ' ...
    ' بقية كود البحث
    ' ...
End Sub

* في الدالة CreateWherePart:
= name_field هو اسم حقل الاسم (نصي - لاحظ علامات الاقتباس الفردية).
= job_field هو اسم حقل المهنة (نصي - لاحظ علامات الاقتباس الفردية).
= year_field هو اسم حقل الاسم (رقمي - لا توجد علامات اقتباس فردية).
= month_field هو اسم حقل الاسم (رقمي - لا توجد علامات اقتباس فردية).
= day_field هو اسم حقل الاسم (رقمي - لا توجد علامات اقتباس فردية).

نرجو الاستفادة و السلام.


RE: بحث باستخدام 5 combobox - AEDC - 30-12-13

1000000000000000000 شكر


RE: بحث باستخدام 5 combobox - هاني هاني - 14-10-20

شكر علي المجهودات