(17-07-24, 11:53 PM)Zuhare كتب : لازم يكون اسم العمود موجود في مكان cboFilter.Text
وضعت متغير جديد اسمه filter وضعته بدل cboFilter.Tex في الاستعلام لكن راجع اسماء الاعمده ويكون يبدا باسم الجدول ثم نقطه ثم اسم العمود مثل tblBrand.ProductBrandPHP كود :
Sub LoadRecords()
dim filter as string=""
if cboFilter.Text="بالباركود" then
filter="tblProduct.barcode"
elseif cboFilter.Text="بالمنتج" then
filter="tblProduct.product"
elseif cboFilter.Text="بالشركة" then
filter="tblBrand.BrandID"
elseif cboFilter.Text="بالدولة" then
filter="tblProduct.country"
elseif cboFilter.Text="بالصنف" then
filter="tblClassification.ClassificationID"
elseif cboFilter.Text="بالنوع" then
filter="tblType.TypeID"
elseif cboFilter.Text="بالعدد" then
filter="tblProduct.dddddddd"
elseif cboFilter.Text="بسعر الشراء" then
filter="tblProduct.ssssssss"
elseif cboFilter.Text="بسعر البيع" then
filter="tblProduct.bbbbbb"
elseif cboFilter.Text="بالنفاذ" then
filter="tblProduct.nnnnnnn"
else
exit sub
end if
Dim i As Integer = 0
Dim total As Double = 0
DataGridView1.Rows.Clear()
cn.Open()
Dim query As String = "SELECT * FROM tblProduct AS p " &
"INNER JOIN tblGeneric AS g ON p.ProductGeneric = GenericID " &
"INNER JOIN tblBrand AS b ON p.ProductBrand = BrandID " &
"INNER JOIN tblFromulation AS f ON p.ProductFromulation = FromulationID " &
"INNER JOIN tblClassification AS c ON p.ProductClassification = ClassificationID " &
"INNER JOIN tblType AS t ON p.ProductType = TypeID " &
"WHERE ProductQuantity > 0 AND " & filter & " LIKE '%'+@SearchText+'%'"
dim cm as New SqlCommand(query, cn)
cm.Parameters.AddWithValue("@SearchText", txtSearch.Text )
dim dr as sqldatareader = cm.ExecuteReader()
While dr.Read()
i += 1
total += CInt(dr.Item("ProductQuantity").ToString())
DataGridView1.Rows.Add(i,
dr.Item("ProductID").ToString(),
dr.Item("ProductBarcode").ToString(),
dr.Item("GenericName").ToString(),
dr.Item("BrandName").ToString(),
dr.Item("FromulationName").ToString(),
dr.Item("ClassificationName").ToString(),
dr.Item("TypeName").ToString(),
dr.Item("ProductQuantity").ToString(),
dr.Item("ProductBuyPrice").ToString(),
dr.Item("ProductSalePrice").ToString(),
Format(CDate(dr.Item("ProductDate").ToString()), "yyyy/MM"),
dr.Item("ProductReorder").ToString())
End While
dr.Close()
cm = Nothing
cn.Close()
lblCount.Text = "عدد المنتجات: " & Format(CLng(DataGridView1.Rows.Count), "#,##0") & Space(10) & " كمية المنتجات: " & Format(total, "#,##0")
End Sub
احسنت لم اجرب لحد الان لكن يشهد الله اني هذه الفكرة لدي من الامس واليوم اريد تطبيقها
جزاك الله خير وافضل الجزاء
(18-07-24, 10:43 AM)تركي الحلواني كتب : كم اخبرك الاخ (Zuhare)
مع وجود بعض التعديل على الكود الخاص به
PHP كود :
Sub LoadRecords()
Dim filter As String = ""
If cboFilter.Text = "بالباركود" Then
filter = "p.ProductBarcode"
ElseIf cboFilter.Text = "بالمنتج" Then
filter = "g.GenericName"
ElseIf cboFilter.Text = "بالشركة" Then
filter = "b.BrandName"
ElseIf cboFilter.Text = "بالدولة" Then
filter = "f.FromulationName"
ElseIf cboFilter.Text = "بالصنف" Then
filter = "c.ClassificationName"
ElseIf cboFilter.Text = "بالنوع" Then
filter = "t.TypeName"
ElseIf cboFilter.Text = "بالعدد" Then
filter = "p.ProductQuantity"
ElseIf cboFilter.Text = "بسعر الشراء" Then
filter = "p.ProductBuyPrice"
ElseIf cboFilter.Text = "بسعر البيع" Then
filter = "p.ProductSalePrice"
ElseIf cboFilter.Text = "بالنفاذ" Then
filter = "p.ProductQuantity"
Else
Exit Sub
End If
Dim i As Integer = 0
Dim total As Double = 0
DataGridView1.Rows.Clear()
cn.Open()
Dim query As String = "SELECT * FROM tblProduct AS p " &
"INNER JOIN tblGeneric AS g ON p.ProductGeneric = GenericID " &
"INNER JOIN tblBrand AS b ON p.ProductBrand = BrandID " &
"INNER JOIN tblFromulation AS f ON p.ProductFromulation = FromulationID " &
"INNER JOIN tblClassification AS c ON p.ProductClassification = ClassificationID " &
"INNER JOIN tblType AS t ON p.ProductType = TypeID " &
"WHERE ProductQuantity > 0 AND " & filter & " LIKE '%'+@SearchText+'%'"
Dim cm As New SqlCommand(query, cn)
cm.Parameters.AddWithValue("@SearchText", txtSearch.Text)
Dim dr As SqlDataReader = cm.ExecuteReader()
While dr.Read()
i += 1
total += CInt(dr.Item("ProductQuantity").ToString())
DataGridView1.Rows.Add(i,
dr.Item("ProductID").ToString(),
dr.Item("ProductBarcode").ToString(),
dr.Item("GenericName").ToString(),
dr.Item("BrandName").ToString(),
dr.Item("FromulationName").ToString(),
dr.Item("ClassificationName").ToString(),
dr.Item("TypeName").ToString(),
dr.Item("ProductQuantity").ToString(),
dr.Item("ProductBuyPrice").ToString(),
dr.Item("ProductSalePrice").ToString(),
Format(CDate(dr.Item("ProductDate").ToString()), "yyyy/MM"),
dr.Item("ProductReorder").ToString())
End While
dr.Close()
cm = Nothing
cn.Close()
lblCount.Text = "عدد المنتجات: " & Format(CLng(DataGridView1.Rows.Count), "#,##0") & Space(10) & " كمية المنتجات: " & Format(total, "#,##0")
End Sub
بكم البركة انتم اساذة ومنكم نتعلم
جزيل الشكر والامتنان
