08-11-14, 11:23 PM
والله لا اعلم اين الخطا اخوي الوليد
عموما هذا كود الفورم بالكامل
حيث ان الكمية المطلوبة تأخذ textbox13
عموما هذا كود الفورم بالكامل
حيث ان الكمية المطلوبة تأخذ textbox13
PHP كود :
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
