تقييم الموضوع :
  • 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
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] رسالة خطأ عند الحذف أو تعديل بيانات جديدة #concurrency violation# sniperjawadino 10 267 19-05-19, 03:54 AM
آخر رد: elgokr
Photo [VB.NET] تعديل المدخلات في (الداتا قريد فيو ) لفاتورة مبيعات؟ EYADISMAIL 1 295 09-01-19, 10:30 PM
آخر رد: EYADISMAIL
  [سؤال] بخصوص اضافة / حذف / تعديل بيانات لقاعدة ACCESS Temiz 0 723 24-01-18, 12:49 AM
آخر رد: Temiz
  [سؤال] ماهوا كود تعديل اسم المستخدم وكلمة المرور في البرنامج Ameer syria 13 6,796 02-01-18, 05:39 PM
آخر رد: سعود
  اخواتي جزيتم خيرااا مساعده هنااا مشكورين مقدمااا امل عوض 8 608 12-09-17, 10:39 PM
آخر رد: ممدوح الخطيب
  ممكن تعديل كود انشاء قاعدة اكسس بالكود سعود 8 974 07-08-17, 11:26 PM
آخر رد: أبو نوره
  تعديل كود فاتورة مبيعات بلغة #C أرجو المساعدة أبو راشد عبدالوهاب 5 697 11-07-17, 12:56 AM
آخر رد: أبو راشد عبدالوهاب
  كيفية تعديل صورة في قاعدة بيانات اكسس oz7z 6 661 29-03-17, 09:01 AM
آخر رد: oz7z
  محتاج مساعده مستعجله مجموع اجور العمليات لكل طبيب مهندس حيدر 5 1,059 02-09-16, 12:35 PM
آخر رد: مهندس حيدر
  أريد منع المستخدم من تعديل خلية معينة في داتا جريد ؟؟؟ Abdh111 3 879 05-06-16, 09:28 PM
آخر رد: khodor1985

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


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