09-03-19, 09:58 PM
(آخر تعديل لهذه المشاركة : 09-03-19, 10:00 PM {2} بواسطة Rabeea Qbaha.)
تحتاج لعمل 2 arrays واحدة تاخذ جميع ارقام الباركود او ارقام السلع وواحدة تاخذ الكميات
وتقوم بعمل ميثود لتحديث الكميات عن طريق for loop .
الحصول على جميع ارقام الباركود للمتجات في الفاتوره :
الحصول على جميع الكميات :
الميثود الخاصه بجلب الكميات المسجله في المخزون للزيادة عليها :
الميثود الخاصه بتحديث البيانات في الجدول :
الميثود الخاصة في تحديث الكميات
وتقوم بعمل ميثود لتحديث الكميات عن طريق for loop .
الحصول على جميع ارقام الباركود للمتجات في الفاتوره :
PHP كود :
Public Function getListOfbar(ByVal IDInvoices As Integer) As List(Of String)
Dim output As New List(Of String)()
Try
If Conn.State = ConnectionState.Open Then
Conn.Close()
End If
Conn.Open()
Dim cmd As OleDbCommand = Conn.CreateCommand
cmd.CommandText = "Select MaterialBarCode from SalesHistory where IDInvoices=@IDInvoices"
cmd.Prepare()
cmd.Parameters.AddWithValue("@IDInvoices", IDInvoices)
Dim dr As OleDbDataReader
dr = cmd.ExecuteReader
While dr.Read()
output.Add(dr.GetValue(0))
End While
dr.Close()
Catch ex As OleDbException
' Do some logging or something.
MessageBox.Show("There was an error accessing your data. DETAIL: " & ex.Message)
End Try
Return output
End Function
الحصول على جميع الكميات :
PHP كود :
Public Function getListOfqunt(ByVal IDInvoices As Integer) As List(Of Integer)
Dim output As New List(Of Integer)()
Try
If Conn.State = ConnectionState.Open Then
Conn.Close()
End If
Conn.Open()
Dim cmd As OleDbCommand = Conn.CreateCommand
cmd.CommandText = "Select Quantity from SalesHistory where IDInvoices=@IDInvoices"
cmd.Prepare()
cmd.Parameters.AddWithValue("@IDInvoices", IDInvoices)
Dim dr As OleDbDataReader
dr = cmd.ExecuteReader
While dr.Read()
output.Add(dr.GetValue(0))
End While
dr.Close()
Catch e As OleDbException
' Do some logging or something.
MessageBox.Show("There was an error accessing your data. DETAIL: " & e.ToString())
End Try
Return output
End Function
الميثود الخاصه بجلب الكميات المسجله في المخزون للزيادة عليها :
PHP كود :
Dim qunt As Integer = 0
Private Sub getdata(ByVal barcode As String)
If Conn.State = ConnectionState.Open Then
Conn.Close()
End If
Conn.Open()
Dim cmd As OleDbCommand = Conn.CreateCommand
cmd.CommandText = "Select QuantityAvailable from Materials where MaterialBarCode=@p1"
cmd.Prepare()
cmd.Parameters.AddWithValue("@p1", barcode)
Dim dr As OleDbDataReader
dr = cmd.ExecuteReader
With dr.Read()
qunt = dr.GetValue(0)
End With
dr.Close()
End Sub
الميثود الخاصه بتحديث البيانات في الجدول :
PHP كود :
Private Sub update_qunt(ByVal qunt As Integer, ByVal barcode As String)
If Conn.State = ConnectionState.Closed Then
Conn.Open()
End If
Dim cmd As New OleDb.OleDbCommand
cmd.Connection = Conn
cmd.CommandType = CommandType.Text
cmd.CommandText = "UPDATE Materials SET QuantityAvailable= @QuantityAvailable WHERE MaterialBarCode= @MaterialBarCode"
cmd.Parameters.AddWithValue("QuantityAvailable", qunt)
cmd.Parameters.AddWithValue("@MaterialBarCode", barcode)
cmd.ExecuteScalar()
Conn.Close()
End Sub
PHP كود :
Private Sub update_Mat(ByVal value As Integer)
For i As Integer = 0 To getListOfbar(value).Count - 1
getdata(getListOfbar(value)(i))
Dim new_qun As Integer = qunt + Val(getListOfqunt(value)(i))
update_qunt(new_qun, getListOfbar(value)(i))
Next
End Sub
