25-12-13, 10:33 PM
السلام عليكم...
اكتب دالة لإنشاء عبارة WHERE حسب حالات الـ ComboBoxes (اجعل البند الأول في كل ComboBox بنداً فارغاً حتى يتسنى للمستخدم استبعاد أي واحد من التصفية أو البحث):
الكود التالي يستبعد أي ComboBox نصه فارغ (Text = ""):
* في الدالة CreateWherePart:
= name_field هو اسم حقل الاسم (نصي - لاحظ علامات الاقتباس الفردية).
= job_field هو اسم حقل المهنة (نصي - لاحظ علامات الاقتباس الفردية).
= year_field هو اسم حقل الاسم (رقمي - لا توجد علامات اقتباس فردية).
= month_field هو اسم حقل الاسم (رقمي - لا توجد علامات اقتباس فردية).
= day_field هو اسم حقل الاسم (رقمي - لا توجد علامات اقتباس فردية).
نرجو الاستفادة و السلام.
اكتب دالة لإنشاء عبارة 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 هو اسم حقل الاسم (رقمي - لا توجد علامات اقتباس فردية).
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
