المشاركات : 395
المواضيع 108
الإنتساب : Jul 2013
السمعة :
10
الشكر: 971
تم شكره 473 مرات في 181 مشاركات
السلام عليكم
في برنامج فاتورة مطعم أقوم بتتابع
1- طبع الفاتورة في ورقة من خلال داتاغريد
2- نقص كمية المنتوجات من قاعدة البيانات
3- حفض رأس الفاتورة
4- حفض منتوجات الفاتورة
5- إفراغ الداتاغريد
في بعض الأحيان يحدث خطأ في الشبكة فلا يتم الوصول لقاعدة البيانات
فيتم طباعة الفاتورة دون الوصول لإفراغ الفاتورة
كيف أعالج هذا المشكل ب TRANSACTION
جزاكم الله خيرا
لا أريد طباعة الورقة إذا لم يتم حفضها في القاعدة
المشاركات : 1,554
المواضيع 14
الإنتساب : Apr 2013
السمعة :
253
الشكر: 3504
تم شكره 4879 مرات في 1244 مشاركات
قبل الطباعة اعمل استعلام برقم الفاتورة إذا الرقم موجود قم بالطباعة او الغي امر الطباعة .
يا رحمن الدنيا والآخرة ورحيمهما
المشاركات : 1,554
المواضيع 14
الإنتساب : Apr 2013
السمعة :
253
الشكر: 3504
تم شكره 4879 مرات في 1244 مشاركات
انت بتقول "
لا أريد طباعة الورقة إذا لم يتم حفضها في القاعدة "
بعد الحفظ يتم جلب رقم الفاتورة مباشرة ،،
ثم طباعة الفاتورة في حال جلب رقم الفاتورة .
هذا مثال لحفظ سجل في قاعدة بيانات اكسس وجلب ID للسجل نفسه ،، يمكنك التحقق من القيمة وتنفيذ امر بعد التحقق .
كود :
Dim connect As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=True;"
متغير يحمل قيمة الترقيم التلقائي Dim ID As Integer
Using conn As New OleDbConnection(connect)
Using cmd As New SqlCommand("insert Into Categories (CategoryName) Values (@CategoryName)", conn)
cmd.Parameters.AddWithValue("@CategoryName", Category.Text)
conn.Open()
cmd.ExecuteNonquery()
cmd.Commandtext="select @@Identity"
ID = cmd.ExecuteScalar()
MsgBox(ID)
If ID <> "" or ID <> Nothing then
ضع كود الطباعة هنا سواء بإستعلام برقم الآيدي أو من الداتاقريدفيو كما عملت انت
End If
conn.close()
End Using
End Using
يا رحمن الدنيا والآخرة ورحيمهما