تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعده فى تعديل كود فاتورة مبيعات
#1
كود :
Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click
      Dim cmd As New OleDbCommand(String.Empty, con)
      Dim ss As String
      con.Open()
      For Each r As DataGridViewRow In dgvprodac.Rows
          Dim ad As Integer = Val(r.Cells(0).Value)
          Dim txt As Integer = Val(r.Cells(2).Value)
          cmd.CommandText = String.Format(" UPDATE [tab_pro] SET [qty] = qty -{0} WHERE [id] = {1} ", txt, ad)
          cmd.ExecuteNonQuery()
      Next
      Try
          ss = "INSERT INTO [tabolder] ([prosh], [sailman],[shirid]) VALUES (@date, @sailman, @ID)"
          Dim md As New OleDbCommand(ss, con)
          md.Parameters.AddWithValue("@date", dtolder.Value.Date)
          md.Parameters.AddWithValue("@sailman", TXTGNAME.Text)
          md.Parameters.AddWithValue("@ID", txtnamper.Text)
          'con.Open()
          md.ExecuteNonQuery()
          md.CommandText = "SELECT @@IDENTITY"
          md = New OleDb.OleDbCommand("select max(shirid) from tabolder", con)
          Dim dm As OleDb.OleDbDataReader = md.ExecuteReader
          dm.Read()
          Dim id_shirid As Integer = dm(0)
          dm.Close()
          Dim id_pro, qty As Integer
          Dim price, amount As Single
          'المشكله هنا
          ss = "insert into [prosh_older] ([itemid], [qtnitem], [unititem], [totitem], [idpro]) values (@itemid, @qtnitem, @unititem, @totitem, @idpro)"
          md = New OleDb.OleDbCommand(ss, con)
          For u As Integer = 0 To dgvprodac.RowCount - 2
              id_pro = dgvprodac.Rows(u).Cells(0).Value
              qty = dgvprodac.Rows(u).Cells(2).Value
              price = dgvprodac.Rows(u).Cells(3).Value
              amount = dgvprodac.Rows(u).Cells(4).Value
              md.Parameters.Add(New OleDb.OleDbParameter("@itemid", OleDb.OleDbType.Integer)).Value = id_pro
              md.Parameters.Add(New OleDb.OleDbParameter("@qtnitem", OleDb.OleDbType.Integer)).Value = qty
              md.Parameters.Add(New OleDb.OleDbParameter("@unititem", OleDb.OleDbType.Currency)).Value = price
              md.Parameters.Add(New OleDb.OleDbParameter("@totitem", OleDb.OleDbType.Currency)).Value = amount
              md.Parameters.Add(New OleDb.OleDbParameter("@idpro", OleDb.OleDbType.Integer)).Value = id_shirid
              md.ExecuteNonQuery()
          Next
      Catch ex As Exception
      End Try
      sqlstr = "select max (shirid) +1 from [tabolder] "
      cmd = New OleDbCommand(sqlstr, con)
      txtnamper.Text = cmd.ExecuteScalar()
      con.Close()
      MsgBox("تم حفظ الفاتوره")
      dt.Rows.Clear()
      txttotal.Clear()
      Label15.Text = "..."
  End Sub
ده الكود والمشكله فى الجزء ده من الكود على ما اظن
كود :
ss = "insert into [prosh_older] ([itemid], [qtnitem], [unititem], [totitem], [idpro]) values (@itemid, @qtnitem, @unititem, @totitem, @idpro)"
          md = New OleDb.OleDbCommand(ss, con)
          For u As Integer = 0 To dgvprodac.RowCount - 2
              id_pro = dgvprodac.Rows(u).Cells(0).Value
              qty = dgvprodac.Rows(u).Cells(2).Value
              price = dgvprodac.Rows(u).Cells(3).Value
              amount = dgvprodac.Rows(u).Cells(4).Value
              md.Parameters.Add(New OleDb.OleDbParameter("@itemid", OleDb.OleDbType.Integer)).Value = id_pro
              md.Parameters.Add(New OleDb.OleDbParameter("@qtnitem", OleDb.OleDbType.Integer)).Value = qty
              md.Parameters.Add(New OleDb.OleDbParameter("@unititem", OleDb.OleDbType.Currency)).Value = price
              md.Parameters.Add(New OleDb.OleDbParameter("@totitem", OleDb.OleDbType.Currency)).Value = amount
              md.Parameters.Add(New OleDb.OleDbParameter("@idpro", OleDb.OleDbType.Integer)).Value = id_shirid
              md.ExecuteNonQuery()

المشكله فى انه بيدخل اول صنف اتباع وبيكرره فى بقيت الاصناف المباعه ملحق صوره توضح


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#2
كود :
   Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click

       If con.State <> ConnectionState.Open Then con.Open()

       Dim id_shirid As Integer

       Using cmd As New OleDb.OleDbCommand("UPDATE [tab_pro] SET [qty]=[qty]-@qty WHERE [id]=@id ", con)
           For Each r As DataGridViewRow In dgvprodac.Rows
               cmd.Parameters.Clear()
               cmd.Parameters.AddWithValue("@qty", Val(r.Cells(0).Value))
               cmd.Parameters.AddWithValue("@id", Val(r.Cells(2).Value))
               cmd.ExecuteNonQuery()
           Next
       End Using

       Using cmd As New OleDb.OleDbCommand("INSERT INTO [tabolder] ([prosh], [sailman],[shirid]) VALUES (@date, @sailman, @ID)", con)
           cmd.Parameters.AddWithValue("@date", dtolder.Value.Date)
           cmd.Parameters.AddWithValue("@sailman", TXTGNAME.Text)
           cmd.Parameters.AddWithValue("@ID", txtnamper.Text)
           cmd.ExecuteNonQuery()
           cmd.CommandText = "SELECT @@IDENTITY"
           id_shirid = cmd.ExecuteScalar
       End Using

       Using cmd As New OleDb.OleDbCommand("INSERT INTO [prosh_older] ([itemid], [qtnitem], [unititem], [totitem], [idpro]) VALUES (@itemid, @qtnitem, @unititem, @totitem, @idpro)", con)
           For Each r As DataGridViewRow In dgvprodac.Rows
               cmd.Parameters.Clear()
               cmd.Parameters.AddWithValue("@itemid", r.Cells(0).Value)
               cmd.Parameters.AddWithValue("@qtnitem", r.Cells(2).Value)
               cmd.Parameters.AddWithValue("@unititem", r.Cells(3).Value)
               cmd.Parameters.AddWithValue("@totitem", r.Cells(4).Value)
               cmd.Parameters.AddWithValue("@idpro", id_shirid)
               cmd.ExecuteNonQuery()
           Next
       End Using

       Using cmd As New OleDb.OleDbCommand("SELECT MAX(shirid)+1 FROM [tabolder]", con)
           txtnamper.Text = cmd.ExecuteScalar()
       End Using

       con.Close()

       MsgBox("تم حفظ الفاتوره")
       txttotal.Clear()
       Label15.Text = "..."

   End Sub
الرد }}}
تم الشكر بواسطة: نبيل كونكت
#3
برنس
الف شكر يا بشمهندس
الرد }}}
تم الشكر بواسطة:
#4
(10-07-17, 02:51 PM)نبيل كونكت كتب :
كود :
Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click
      Dim cmd As New OleDbCommand(String.Empty, con)
      Dim ss As String
      con.Open()
      For Each r As DataGridViewRow In dgvprodac.Rows
          Dim ad As Integer = Val(r.Cells(0).Value)
          Dim txt As Integer = Val(r.Cells(2).Value)
          cmd.CommandText = String.Format(" UPDATE [tab_pro] SET [qty] = qty -{0} WHERE [id] = {1} ", txt, ad)
          cmd.ExecuteNonQuery()
      Next
      Try
          ss = "INSERT INTO [tabolder] ([prosh], [sailman],[shirid]) VALUES (@date, @sailman, @ID)"
          Dim md As New OleDbCommand(ss, con)
          md.Parameters.AddWithValue("@date", dtolder.Value.Date)
          md.Parameters.AddWithValue("@sailman", TXTGNAME.Text)
          md.Parameters.AddWithValue("@ID", txtnamper.Text)
          'con.Open()
          md.ExecuteNonQuery()
          md.CommandText = "SELECT @@IDENTITY"
          md = New OleDb.OleDbCommand("select max(shirid) from tabolder", con)
          Dim dm As OleDb.OleDbDataReader = md.ExecuteReader
          dm.Read()
          Dim id_shirid As Integer = dm(0)
          dm.Close()
          Dim id_pro, qty As Integer
          Dim price, amount As Single
          'المشكله هنا
          ss = "insert into [prosh_older] ([itemid], [qtnitem], [unititem], [totitem], [idpro]) values (@itemid, @qtnitem, @unititem, @totitem, @idpro)"
          md = New OleDb.OleDbCommand(ss, con)
          For u As Integer = 0 To dgvprodac.RowCount - 2
              id_pro = dgvprodac.Rows(u).Cells(0).Value
              qty = dgvprodac.Rows(u).Cells(2).Value
              price = dgvprodac.Rows(u).Cells(3).Value
              amount = dgvprodac.Rows(u).Cells(4).Value
              md.Parameters.Add(New OleDb.OleDbParameter("@itemid", OleDb.OleDbType.Integer)).Value = id_pro
              md.Parameters.Add(New OleDb.OleDbParameter("@qtnitem", OleDb.OleDbType.Integer)).Value = qty
              md.Parameters.Add(New OleDb.OleDbParameter("@unititem", OleDb.OleDbType.Currency)).Value = price
              md.Parameters.Add(New OleDb.OleDbParameter("@totitem", OleDb.OleDbType.Currency)).Value = amount
              md.Parameters.Add(New OleDb.OleDbParameter("@idpro", OleDb.OleDbType.Integer)).Value = id_shirid
              md.ExecuteNonQuery()
          Next
      Catch ex As Exception
      End Try
      sqlstr = "select max (shirid) +1 from [tabolder] "
      cmd = New OleDbCommand(sqlstr, con)
      txtnamper.Text = cmd.ExecuteScalar()
      con.Close()
      MsgBox("تم حفظ الفاتوره")
      dt.Rows.Clear()
      txttotal.Clear()
      Label15.Text = "..."
  End Sub
ده الكود والمشكله فى الجزء ده من الكود على ما اظن
كود :
ss = "insert into [prosh_older] ([itemid], [qtnitem], [unititem], [totitem], [idpro]) values (@itemid, @qtnitem, @unititem, @totitem, @idpro)"
          md = New OleDb.OleDbCommand(ss, con)
          For u As Integer = 0 To dgvprodac.RowCount - 2
              id_pro = dgvprodac.Rows(u).Cells(0).Value
              qty = dgvprodac.Rows(u).Cells(2).Value
              price = dgvprodac.Rows(u).Cells(3).Value
              amount = dgvprodac.Rows(u).Cells(4).Value
              md.Parameters.Add(New OleDb.OleDbParameter("@itemid", OleDb.OleDbType.Integer)).Value = id_pro
              md.Parameters.Add(New OleDb.OleDbParameter("@qtnitem", OleDb.OleDbType.Integer)).Value = qty
              md.Parameters.Add(New OleDb.OleDbParameter("@unititem", OleDb.OleDbType.Currency)).Value = price
              md.Parameters.Add(New OleDb.OleDbParameter("@totitem", OleDb.OleDbType.Currency)).Value = amount
              md.Parameters.Add(New OleDb.OleDbParameter("@idpro", OleDb.OleDbType.Integer)).Value = id_shirid
              md.ExecuteNonQuery()

المشكله فى انه بيدخل اول صنف اتباع وبيكرره فى بقيت الاصناف المباعه ملحق صوره توضح

قيمة idpro فى prosh_older ةاخده قيمه غلط مش هى shirid فى tabolder
الرد }}}
تم الشكر بواسطة:
#5
بس اتحلت الحمد لله
غيرت دى id_shirid = cmd.ExecuteScalar
لــــ دى id_shirid = txtnamper.Text
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [Acces2010] اريد تعديل الكود للاكسس بسام محمدغانم 0 837 13-10-21, 09:14 PM
آخر رد: بسام محمدغانم
  [سؤال] كنت محتاج مساعده بعمل مشروع تخرج انتخابات اونلاين ahmed nafea 0 1,658 22-04-21, 11:13 PM
آخر رد: ahmed nafea
  مساعدة من اخوتي برنامج مبيعات سوبرماركت التعامل مع اكثر من زبون في نفس الوقت Mokhtar-mako 1 1,314 16-01-21, 08:43 PM
آخر رد: moosa_alabri
  مساعده sokina 4 1,739 13-12-20, 03:11 AM
آخر رد: sokina
  هل يمكن تعديل كلمة معينة داخل سجل alfaiz678 5 2,500 30-11-20, 09:42 PM
آخر رد: alfaiz678
  [VB.NET] تعديل في data gird view وحفظه Hassan.syria 5 2,548 10-03-20, 03:06 PM
آخر رد: asemshahen5
  كيفية تحويل الوحدات في نموذج فاتورة البيع من كرتون لحبة وخلافه wessam.demerdash 3 3,363 25-06-19, 10:20 PM
آخر رد: atefkhalf2004
  [VB.NET] رسالة خطأ عند الحذف أو تعديل بيانات جديدة #concurrency violation# sniperjawadino 11 4,041 28-05-19, 10:50 PM
آخر رد: sniperjawadino
Photo [VB.NET] تعديل المدخلات في (الداتا قريد فيو ) لفاتورة مبيعات؟ EYADISMAIL 1 2,563 09-01-19, 10:30 PM
آخر رد: EYADISMAIL
  [سؤال] بخصوص اضافة / حذف / تعديل بيانات لقاعدة ACCESS Temiz 0 3,155 24-01-18, 12:49 AM
آخر رد: Temiz

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم