تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] بحث باستخدام 5 combobox
#1
السلام عليكم

عندي فورم و 5 combobox

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

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

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

شكر مسبق للجميع
الرد }}}}
تم الشكر بواسطة:
#2
هذا كود لعمل 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) & "'" 
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}}
تم الشكر بواسطة:
#3
قيمة الكومبو الثاني خذه و ضعه في شرط

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

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

و تضع امر شرطي اذا مثلا المتغير كذا = قيمة الكومبو 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
الرد }}}}
تم الشكر بواسطة:
#4
(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
الرد }}}}
تم الشكر بواسطة:
#5
السلام عليكم...

اكتب دالة لإنشاء عبارة 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 هو اسم حقل الاسم (رقمي - لا توجد علامات اقتباس فردية).

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة:
#6
1000000000000000000 شكر
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اظهار الرقم في textعند اختيار الاسم من combobox haniblack 2 108 02-11-16, 08:31 AM
آخر رد: haniblack
  [vb6.0] الكود باستخدام فيجوال بيسك6 تالين الورفلي 2 95 23-10-16, 10:38 AM
آخر رد: Ashraf Elafify
  [سؤال] ربط combobox بي textbox abazrmhamed 5 156 25-08-16, 02:18 PM
آخر رد: ahmedabdelaliem
  كيف افتح صورة باستخدام برنامجي الخاص aiman 3 281 15-11-15, 11:42 PM
آخر رد: الاصيله
  ارسال ملف بواسطة فيجوال بيسك باستخدام اوت لوك Ksa004 2 779 09-06-15, 10:18 AM
آخر رد: Ksa004
Thumbs Up كيفية جعل عناصر ال combobox ماخوذة من حقل قاعدة بيانات عبدالرحمن الرشيدي 1 983 31-05-15, 09:51 PM
آخر رد: ahmedabdelaliem
  [كود] عدم السماح باستخدام اكتر من خمس خانات mera 3 549 31-05-15, 01:35 PM
آخر رد: abdel_madjid
  التحزيم باستخدام برنامج Setup Factory 8 اسلام الكبابى 5 995 24-05-15, 02:29 PM
آخر رد: اسلام الكبابى
  [سؤال] ربط ComboBox مع DataGrid hachemi 0 577 12-05-14, 03:42 PM
آخر رد: hachemi
  الطباعة باستخدام active report superwoofer 6 1,259 17-03-14, 11:18 AM
آخر رد: superwoofer

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


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