Imports System.Data
Imports System.Data.OleDb
Public Class Form6
Inherits System.Windows.Forms.Form
Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=storemng.accdb")
Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=storemng.accdb;"
Dim conn As New OleDbConnection(connString)
Private Sub Form6_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click 'الزر الخاص بإظهار عناصر الصنف بعد اضافة الكود
Dim row As DataRow = GetItemInfo(Val(Me.txtno1.Text))
Me.txtname1.Clear()
Me.txtunit1.Clear()
Me.txtq1.Clear()
If row IsNot Nothing Then
Me.txtname1.Text = row("namep")
Me.txtunit1.Text = row("uintp")
Me.txtq1.Text = row("nowp")
End If
End Sub
' قراءة بيانات المادة من رقمها وتأتي على شكل سطر بيانات وليس جدول '
Public Function GetItemInfo(id As Integer) As DataRow
Try
Using da As New OleDbDataAdapter("SELECT * FROM [products] WHERE [nump] = @nump ", con)
da.SelectCommand.Parameters.AddWithValue("@nump", id)
Using myDatatable As New DataTable
If da.Fill(myDatatable) > 0 Then Return myDatatable.Rows(0)
End Using
End Using
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Function
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click 'الزر الخاص بإظهار عناصر الصنف بعد اضافة الكود
Dim row As DataRow = GetItemInfo(Val(Me.txtno2.Text))
Me.txtname2.Clear()
Me.txtunit2.Clear()
Me.txtq2.Clear()
If row IsNot Nothing Then
Me.txtname2.Text = row("namep")
Me.txtunit2.Text = row("uintp")
Me.txtq2.Text = row("nowp")
End If
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click 'الزر الخاص بإظهار عناصر الصنف بعد اضافة الكود
Dim row As DataRow = GetItemInfo(Val(Me.txtno3.Text))
Me.txtname3.Clear()
Me.txtunit3.Clear()
Me.txtq3.Clear()
If row IsNot Nothing Then
Me.txtname3.Text = row("namep")
Me.txtunit3.Text = row("uintp")
Me.txtq3.Text = row("nowp")
End If
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click 'الزر الخاص بإظهار عناصر الصنف بعد اضافة الكود
Dim row As DataRow = GetItemInfo(Val(Me.txtno4.Text))
Me.txtname4.Clear()
Me.txtunit4.Clear()
Me.txtq4.Clear()
If row IsNot Nothing Then
Me.txtname4.Text = row("namep")
Me.txtunit4.Text = row("uintp")
Me.txtq4.Text = row("nowp")
End If
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click 'الزر الخاص بإظهار عناصر الصنف بعد اضافة الكود
Dim row As DataRow = GetItemInfo(Val(Me.txtno5.Text))
Me.txtname5.Clear()
Me.txtunit5.Clear()
Me.txtq5.Clear()
If row IsNot Nothing Then
Me.txtname5.Text = row("namep")
Me.txtunit5.Text = row("uintp")
Me.txtq5.Text = row("nowp")
End If
End Sub
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click 'الزر الخاص بإظهار عناصر الصنف بعد اضافة الكود
Dim row As DataRow = GetItemInfo(Val(Me.txtno6.Text))
Me.txtname6.Clear()
Me.txtunit6.Clear()
Me.txtq6.Clear()
If row IsNot Nothing Then
Me.txtname6.Text = row("namep")
Me.txtunit6.Text = row("uintp")
Me.txtq6.Text = row("nowp")
End If
End Sub
Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click 'الزر الخاص بإظهار عناصر الصنف بعد اضافة الكود
Dim row As DataRow = GetItemInfo(Val(Me.txtno7.Text))
Me.txtname7.Clear()
Me.txtunit7.Clear()
Me.txtq7.Clear()
If row IsNot Nothing Then
Me.txtname7.Text = row("namep")
Me.txtunit7.Text = row("uintp")
Me.txtq7.Text = row("nowp")
End If
End Sub
Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click 'الزر الخاص بإظهار عناصر الصنف بعد اضافة الكود
Dim row As DataRow = GetItemInfo(Val(Me.txtno8.Text))
Me.txtname8.Clear()
Me.txtunit8.Clear()
Me.txtq8.Clear()
If row IsNot Nothing Then
Me.txtname8.Text = row("namep")
Me.txtunit8.Text = row("uintp")
Me.txtq8.Text = row("nowp")
End If
End Sub
' خصم الكمية المطلوبة من المستودعات '
Public Function QuantityDiscount(nump As Integer, qty As Integer) As Boolean
' التأكد من صحة الأرقام المدخلة '
If (nump <= 0) Or (qty <= 0) Then Exit Function
'----------------------------------------'
Using con As New OleDbConnection(connstring)
con.Open()
'---------- التأكد من توفر الكمية المطلوبة ----------'
Using comm As New OleDbCommand(" SELECT [nowp] FROM [products] WHERE [nump] = @nump ", con)
comm.Parameters.AddWithValue("@nump", nump)
If comm.ExecuteScalar < qty Then
MsgBox("الكمية المطلوبة غير متوفرة في المستودعات", _
MsgBoxStyle.Critical + MsgBoxStyle.MsgBoxRtlReading + MsgBoxStyle.MsgBoxRight)
Return False
End If
End Using
'---------- خصم الكمية المطلوبة من المستودعات ----------'
Dim result As Integer
Using comm As New OleDbCommand(" UPDATE [products] SET [nowp] = [nowp] - @qty ", con)
comm.Parameters.AddWithValue("@qty", qty)
result = comm.ExecuteNonQuery()
End Using
'---------- التأكد من نتيجة عملية الخصم ----------'
If result > 0 Then
MsgBox("تم خصم الكمية المطلوبة من المستودعات", _
MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRtlReading + MsgBoxStyle.MsgBoxRight)
Return True
End If
con.Close()
End Using
End Function
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
End Sub
End Class