![]() |
|
[VB.NET] سؤال عن فترة ركود صنف في برنامج مبيعات - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] سؤال عن فترة ركود صنف في برنامج مبيعات (/showthread.php?tid=38463) |
سؤال عن فترة ركود صنف في برنامج مبيعات - علاء الكبابي - 16-05-21 اريد ان يحدد العميل فترة لكل صنف اذا انقضت يرسل له البرنامج تنبيه بذلك وبذلك فلكل صنف فترة مختلفة عن الاخر محفوظة في جدول الاصناف تحت اسم stagnation واستعملت هذا الكود للاستعلام Private Sub FlatButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FlatButton1.Click
Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=small cashier.accdb")
Dim da As New OleDbDataAdapter
Dim dt As New DataTable
da = New OleDbDataAdapter("select * from items where store > 0 and stagnation <> 0 ", con)
da.Fill(dt)
con.Open()
If dt.Rows.Count > 0 Then
DataGridView1.DataSource = dt
Else
Return
End If
Dim x As Integer
Dim z As String
For i As Integer = 0 To DataGridView1.Rows.Count - 1
x = DataGridView1.Rows(i).Cells(13).Value
z = DataGridView1.Rows(i).Cells(1).Value
Dim daa As New OleDbDataAdapter
Dim dtt As New DataTable
daa = New OleDbDataAdapter("select iname_o, order_date from orders_d where cod = " & z & " and order_date < # " & today.addDays(-x) & " # ", con)
If dtt.Rows.Count = 0 Then
daa.Fill(dtt)
DataGridView2.DataSource = dtt
Else
Dim row As DataRow = dtt.NewRow
row(0) = dtt.Rows(0)(0)
row(1) = dtt.Rows(0)(1)
dtt.Rows.Add(row)
DataGridView2.DataSource = dtt
End If
Next
MsgBox("تم")
End Sub
في النهاية يظهر الاستعلام الاول في الداتا جريد الاولى سليم
ولا يظهر في الداتا جريد الثانية غير اسماء الجداول فقط ولا شئ تحتها
RE: سؤال عن فترة ركود صنف في برنامج مبيعات - ابو انس - 16-05-21 استبدل مكان هذين السطرين If dtt.Rows.Count = 0 Then
daa.Fill(dtt)اجعل daa.Fill(dtt) قبل بداية جملة if وانتبه لهذ السطر If dtt.Rows.Count = 0 Then هل انت متأكد من انك لا تريده هكذا If dtt.Rows.Count > 0 Then RE: سؤال عن فترة ركود صنف في برنامج مبيعات - علاء الكبابي - 16-05-21 (16-05-21, 06:32 PM)ابو انس كتب : استبدل مكان هذين السطرين عندما فعلت ذلك اصبح التكرار يغير قيم ال dtt في كل مرة وبذلك تظهر نتيجة واحدة للاستعلام في النهاية RE: سؤال عن فترة ركود صنف في برنامج مبيعات - أبو عبدالله الحلواني - 16-05-21 ما هي القيم المخزنة بكلا من x z هنا x = DataGridView1.Rows(i).Cells(13).Value z = DataGridView1.Rows(i).Cells(1).Value RE: سؤال عن فترة ركود صنف في برنامج مبيعات - ابو انس - 16-05-21 بعد Dim dtt As New DataTable اكتب dtt.clear RE: سؤال عن فترة ركود صنف في برنامج مبيعات - علاء الكبابي - 20-05-21 (16-05-21, 07:11 PM)أبو عبدالله الحلواني كتب : ما هي القيم المخزنة بكلا من x z هنا 1- كود الصنف 13- فترة الركود الخاصة به RE: سؤال عن فترة ركود صنف في برنامج مبيعات - علاء الكبابي - 27-05-21 بعد محاولات كتير ده الكود النهائي للي ممكن يحتاجه Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=small cashier.accdb")
Dim da As New OleDbDataAdapter
Dim dt As New DataTable
da = New OleDbDataAdapter("select * from items where store > 0 and stagnation <> 0 ", con)
da.Fill(dt)
con.Open()
If dt.Rows.Count > 0 Then
DataGridView1.DataSource = dt
Else
Return
End If
Dim x As Integer
Dim z As String
Dim dttt As New DataTable
dttt.Columns.Add("اسم الصنف")
dttt.Columns.Add("تاريخ اخر بيع")
DataGridView2.DataSource = dttt
For i As Integer = 0 To DataGridView1.Rows.Count - 1
x = DataGridView1.Rows(i).Cells(13).Value
z = DataGridView1.Rows(i).Cells(1).Value
Dim daa As New OleDbDataAdapter
Dim daaa As New OleDbDataAdapter
Dim dtt As New DataTable
Dim dtttt As New DataTable
daa = New OleDbDataAdapter("select * from orders_d where cod = '" & z & "' and order_date < # " & Today.AddDays(-x) & " # ", con)
daaa = New OleDbDataAdapter("select * from orders_d where cod = '" & z & "' and order_date > # " & Today.AddDays(-x) & " # ", con)
daaa.Fill(dtttt)
daa.Fill(dtt)
If dtttt.Rows.Count > 0 Then
If dtttt.Rows(0)(0) = dtt.Rows(0)(0) Then
'dtt.Clear()
'dtttt.Clear()
Else
dtt.Clear()
End If
End If
If dtt.Rows.Count > 0 Then
Dim last As Integer = dtt.Rows.Count - 1
Dim row As DataRow = dttt.NewRow
row(0) = dtt.Rows(last)(2)
row(1) = dtt.Rows(last)(6)
dttt.Rows.Add(row)
DataGridView2.DataSource = dttt
End If
Next
|