برنامج إدارة المبيعات: الدرس الثامن: صفحة البيع النقدي - الجزء 5:حفظ معلومات الوصل في قاعدة البيانات
في الدرس الثامن من برنامج ادارة المبيعات سنقوم بخزن معلومات الوصل داخل قاعدة البيانات عن طريق إنشاء جدول جديد.
متطلبات هذا الدرس
- إنشاء جدول جديد في قاعدة البيانات tblBills
- زر الحفظ btnSaveToDB


أولا: إنشاء جدول جديد في قاعدة البيانات tblBills
تم إنشاء جدول في قاعدة البيانات tblBills يحتوي على الحقول التالية:-
- اسم الزبون
- رقم الوصل
- تأريخ الوصل
- اسم المادة
- عدد الوحدات
- سعر الوحدة
- المجموع (عدد الوحدات * سعر الوحدة)
يتم خزن معلومات الوصل كافه داخل الجدول الخاص بالبيع النقدي عن طريق كتابة الكود التالي داخل حدث ال btnSaveToDB_Click :
Private Sub
btnSaveToDB_Click(sender As Object, e As EventArgs) Handles btnSaveToDB.Click
Dim daCheckID As New
OleDbDataAdapter
Dim dtCheckID As New DataTable
daCheckID = New
OleDbDataAdapter("Select * from tblBills Where Bill_ID = " &
tbBillNo.Text, con)
daCheckID.Fill(dtCheckID)
If
dtCheckID.Rows.Count <> 0 Then
MsgBox("رقم الوصل محفوظ سابقاً داخل قاعدة البيانات", vbMsgBoxRight
+ MsgBoxStyle.Critical, "عذراً .. لم يتم الحفظ")
Return
Else
If
dgvBill.Rows.Count = 0 Then
MsgBox("يرجى إضافة مادة واحدة على الاٌقل لأتمام عملية الحفط", vbMsgBoxRight
+ MsgBoxStyle.Critical, "عذراً .. لم يتم الحفظ")
Return
End If
Dim d, m, y As String
d = cbDay.Text
m = cbMonth.Text
y = cbYear.Text
BillDate = d
& "-" & m & "-" & y
For Each Row As
DataGridViewRow In dgvBill.Rows
Using cmd As New OleDbCommand("INSERT
INTO tblBills (Customer_Name, Bill_ID, Bill_Date, Item_Name, Units, Unit_Price,
Total) VALUES (@Customer_Name, @Bill_ID, @Bill_Date, @Item_Name,@Units,
@Unit_Price, @Total)", con)
cmd.Parameters.AddWithValue("@Customer_Name",
tbPurchaserName.Text)
cmd.Parameters.AddWithValue("@Bill_ID",
tbBillNo.Text)
cmd.Parameters.AddWithValue("@Bill_Date", BillDate)
cmd.Parameters.AddWithValue("@Item_Name", Row.Cells("ItemName").Value)
cmd.Parameters.AddWithValue("@Units", Row.Cells("No").Value)
cmd.Parameters.AddWithValue("@Unit_Price", Row.Cells("Price").Value)
cmd.Parameters.AddWithValue("@Total", Row.Cells("Total").Value)
cmd.CommandType = CommandType.Text
cmd.CommandTimeout = 420
con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
Next
Using cmdUpdate As New OleDbCommand( "UPDATE
tblBillID SET LastID = @LastID WHERE ID =@ID", con)
cmdUpdate.Parameters.AddWithValue("@LastID", CInt(tbBillNo.Text))
cmdUpdate.Parameters.AddWithValue("@ID", 1)
cmdUpdate.CommandType
= CommandType.Text
cmdUpdate.CommandTimeout = 420
con.Open()
cmdUpdate.ExecuteNonQuery()
con.Close()
End Using
btnNewBill.Enabled = True
MsgBox("تم حفظ الوصل بنجاح", vbMsgBoxRight
+ MsgBoxStyle.Information, "جاري الحفظ")
End If
End
Sub
Private Sub
btnSaveToDB_Click(sender As Object, e As EventArgs) Handles btnSaveToDB.Click
Dim daCheckID As New OleDbDataAdapter
daCheckID = New OleDbDataAdapter("Select * from tblBills Where Bill_ID = " & tbBillNo.Text, con)
If dtCheckID.Rows.Count <> 0 Then
MsgBox("رقم الوصل محفوظ سابقاً داخل قاعدة البيانات", vbMsgBoxRight + MsgBoxStyle.Critical, "عذراً .. لم يتم الحفظ")
Else
If dgvBill.Rows.Count = 0 Then
MsgBox("يرجى إضافة مادة واحدة على الاٌقل لأتمام عملية الحفط", vbMsgBoxRight + MsgBoxStyle.Critical, "عذراً .. لم يتم الحفظ")
End If
Dim d, m, y As String
d = cbDay.Text
m = cbMonth.Text
y = cbYear.Text
BillDate = d & "-" & m & "-" & y
For Each Row As DataGridViewRow In dgvBill.Rows
Using cmd As New OleDbCommand("INSERT INTO tblBills (Customer_Name, Bill_ID, Bill_Date, Item_Name, Units, Unit_Price, Total) VALUES (@Customer_Name, @Bill_ID, @Bill_Date, @Item_Name,@Units, @Unit_Price, @Total)", con)
cmd.Parameters.AddWithValue("@Customer_Name", tbPurchaserName.Text)
cmd.CommandType = CommandType.Text
cmd.CommandTimeout = 420
con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
Next
Using cmdUpdate As New OleDbCommand( "UPDATE tblBillID SET LastID = @LastID WHERE ID =@ID", con)
cmdUpdate.CommandType = CommandType.Text
cmdUpdate.CommandTimeout = 420
con.Open()
cmdUpdate.ExecuteNonQuery()
con.Close()
End Using
btnNewBill.Enabled = True
MsgBox("تم حفظ الوصل بنجاح", vbMsgBoxRight + MsgBoxStyle.Information, "جاري الحفظ")
End If
End Sub
لتحميل الأكواد المستخدمة في الدرس إضغط هنا
ملاحظة : عند تحميل قاعدة البيانات من الرابط اعلاه لوضعها داخل مجلد Debug يجب التأكد من ان اسم قاعدة البيانات هو نفس الاسم الموجود بجمله الاتصال الموجودة في صفحة المديول في الفيجوال بيسك وهو SalesDB
يمكنكم متابعة الدرس عن طريق اليوتيوب

دروس قد تهمك
إضافة المواد الى الفاتورة - برنامج ادارة المطاعم
https://youtu.be/GFqvnKWZXMA
التأكد من عدم تكرار المواد - برنامج ادارة المطاعم
https://youtu.be/P2ag5yArBt4
حساب المجموع او الاجمالي - برنامج ادارة المبيعات
https://youtu.be/tj3WCWx463g
حفظ فاتورة البيع في قاعدة البيانات - الجزء الأول - برنامج ادارة المطاعم
https://youtu.be/lIww21L5Qjg
حفظ فاتورة البيع في قاعدة البيانات - الجزء الثاني - برنامج ادارة المطاعم
https://youtu.be/sRXYqVPaPMA

قوائم تشغيل قد تهمك 🎬
برنامج إدارة المطاعم - Vb.net and MS Access
https://youtube.com/playlist?list=PLJ_b4a1hzeO_8w9hKbLq_FvhYquVLynqk
دورة مايكروسوفت اكسس Microsoft Access
https://www.youtube.com/playlist?list=PLJ_b4a1hzeO8kBfZzpjYGVB-i1dgrGyWW
دورة ربط الفيجوال بيسك بقواعد البيانات (SQL Server - Access)
https://www.youtube.com/playlist?list=PLJ_b4a1hzeO9-R7JTfRFsmHXaWhWaXTVP
دورة تعلم الفيحوال بيسك (vb.net)
https://www.youtube.com/playlist?list=PLJ_b4a1hzeO_qAeBJbFZlTWwLhqqpIMXk



تعليقات
إرسال تعليق