مساعده فى تعديل كود فاتورة مبيعات - نبيل كونكت - 10-07-17
كود :
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()
المشكله فى انه بيدخل اول صنف اتباع وبيكرره فى بقيت الاصناف المباعه ملحق صوره توضح
RE: مساعده فى تعديل كود فاتورة مبيعات - 23656 - 10-07-17
كود :
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
RE: مساعده فى تعديل كود فاتورة مبيعات - نبيل كونكت - 10-07-17
برنس
الف شكر يا بشمهندس
RE: مساعده فى تعديل كود فاتورة مبيعات - نبيل كونكت - 10-07-17
(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
RE: مساعده فى تعديل كود فاتورة مبيعات - نبيل كونكت - 10-07-17
بس اتحلت الحمد لله
غيرت دى id_shirid = cmd.ExecuteScalar
لــــ دى id_shirid = txtnamper.Text
|