![]() |
|
مساعدة - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : مساعدة (/showthread.php?tid=20306) |
مساعدة - لسه مبتدئ - 09-05-17 انا تابعت دورة الاستاذ خالد السعداني في دورة المبيعات بس هو مكملش ازاي اخصم من المخزن ممكن يا جماعة تساعدوني انا اسف ده كود حفظ الفاتورة Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click If state = "add" Then Dim StrInser As String = "Insert Into TBL_ORDERS (order_date, SalesMan, Des, ID_Customer) values(@order_date, @SalesMan , @Des, @ID_Customer)" cmd = New OleDb.OleDbCommand(StrInser, con) cmd.Parameters.Add(New OleDb.OleDbParameter("@order_date", OleDb.OleDbType.Date)).Value = DtOrder.Value.Date cmd.Parameters.Add(New OleDb.OleDbParameter("@SalesMan", OleDb.OleDbType.VarChar)).Value = txtSalesMan.Text cmd.Parameters.Add(New OleDb.OleDbParameter("@Des", OleDb.OleDbType.VarChar)).Value = txtDes.Text cmd.Parameters.Add(New OleDb.OleDbParameter("@ID_Customer", OleDb.OleDbType.Integer)).Value = txtCustId.Text con.Open() cmd.ExecuteNonQuery() cmd = New OleDb.OleDbCommand("select max (id) from TBL_ORDERS", con) Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader dr.Read() Dim Id_Order As Integer = dr(0) dr.Close() '''''''' Dim ID_Product, Qty As Integer Dim Price2, Amount As Double StrInser = "Insert into TBL_ORDER_DETALIS (ID_Product, id_order, qty, price2, amount) values (@ID_Product, @id_order, @qty, @price2, @amount) " For i As Integer = 0 To DGVProduct.RowCount - 2 ID_Product = DGVProduct.Rows(i).Cells(0).Value Qty = DGVProduct.Rows(i).Cells(2).Value Price2 = DGVProduct.Rows(i).Cells(3).Value Amount = DGVProduct.Rows(i).Cells(4).Value cmd = New OleDb.OleDbCommand(StrInser, con) cmd.Parameters.Add(New OleDb.OleDbParameter("@ID_Product", OleDb.OleDbType.Integer)).Value = ID_Product cmd.Parameters.Add(New OleDb.OleDbParameter("@id_order", OleDb.OleDbType.Integer)).Value = Id_Order cmd.Parameters.Add(New OleDb.OleDbParameter("@qty", OleDb.OleDbType.Integer)).Value = Qty cmd.Parameters.Add(New OleDb.OleDbParameter("@price2", OleDb.OleDbType.Currency)).Value = Price2 cmd.Parameters.Add(New OleDb.OleDbParameter("@amount", OleDb.OleDbType.Currency)).Value = Amount cmd.ExecuteNonQuery() Next con.Close() MsgBox("تمت الإضافة بنجاح", MsgBoxStyle.Information, "الإضافة") Else Dim strUbdate As String = "update tbl_orders set order_date = @order_date, salesman = @salesman, des = @des, id_customer = @id_customer where ID = " & Me.ID_ORDER cmd = New OleDb.OleDbCommand(strUbdate, con) cmd.Parameters.Add(New OleDb.OleDbParameter("@order_date", OleDb.OleDbType.Date)).Value = DtOrder.Value.Date cmd.Parameters.Add(New OleDb.OleDbParameter("@SalesMan", OleDb.OleDbType.VarChar)).Value = txtSalesMan.Text cmd.Parameters.Add(New OleDb.OleDbParameter("@Des", OleDb.OleDbType.VarChar)).Value = txtDes.Text cmd.Parameters.Add(New OleDb.OleDbParameter("@ID_Customer", OleDb.OleDbType.Integer)).Value = txtCustId.Text con.Open() cmd.ExecuteNonQuery() cmd = New OleDb.OleDbCommand("select max (id) from TBL_ORDERS", con) Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader dr.Read() Dim Id_Order As Integer = dr(0) dr.Close() cmd = New OleDb.OleDbCommand("Delete from TBL_ORDER_DETALIS where id_order = " & Id_Order, con) cmd.ExecuteNonQuery() '''''''' Dim ID_Product, Qty As Integer Dim Price2, Amount As Double strUbdate = "Insert into TBL_ORDER_DETALIS (ID_Product, id_order, qty, price2, amount) values (@ID_Product, @id_order, @qty, @price2, @amount) " For i As Integer = 0 To DGVProduct.RowCount - 2 ID_Product = DGVProduct.Rows(i).Cells(0).Value Qty = DGVProduct.Rows(i).Cells(2).Value Price2 = DGVProduct.Rows(i).Cells(3).Value Amount = DGVProduct.Rows(i).Cells(4).Value cmd = New OleDb.OleDbCommand(strUbdate, con) cmd.Parameters.Add(New OleDb.OleDbParameter("@ID_Product", OleDb.OleDbType.Integer)).Value = ID_Product cmd.Parameters.Add(New OleDb.OleDbParameter("@id_order", OleDb.OleDbType.Integer)).Value = Id_Order cmd.Parameters.Add(New OleDb.OleDbParameter("@qty", OleDb.OleDbType.Integer)).Value = Qty cmd.Parameters.Add(New OleDb.OleDbParameter("@price2", OleDb.OleDbType.Currency)).Value = Price2 cmd.Parameters.Add(New OleDb.OleDbParameter("@amount", OleDb.OleDbType.Currency)).Value = Amount cmd.ExecuteNonQuery() Next con.Close() MsgBox("تمت عملية التعديل بنجاح", MsgBoxStyle.Information, "التعديل") End If End Sub RE: مساعدة - محمود بكرى - 10-05-17 اخي الغالي فى هذه الدورة لم ينشيء الاستاذ الغالى خالد السعداني برنامج احترافى ولاكن المقصود منه هو توضيح الصورة من خلال مثال عملي للتطبيق على التعامل مع قواعد البيانات من خلال الدوت نت المصود هنا انك يمكنك في ضوء ما شرح وقدم فى الدورة عمل التطبيق كما يحلوا لك (الابتكار) بمعني ان الاستاذ خالد وضع كمية فى المخزن مسبقا لكي يقارن الفاتورة بالكمية المتوافرة واختصر الموضوع لتصل الفكرة ولكن فى الحقيقة المخزن تتم عليه 4 حركات وهي اضافة - صرف - مرتجع صرف - مرتجع اضافة--- ومن خلال هذه الحركات ياتي الرصيد الذي يتم مقارنة لحظة الصرف الخلاصة : الموضوع بسيط سوف تنشئ جدول للحركة طبقا للحالات |