Aumentar y disminuir stock en vba.net y sql
Estimados/as
Tengo un problema con la creacion de mis procedimientos para aumentar solo el stock del programa que estoy realizando, son 2 formularios 1 form ventas y 2 form historialventas
Cuando deseo eliminar una venta efectuada, no se genera ninguna respuesta de parte del programa, les envio los codigos realizados.
Les agradezco de antemano su respuesta.
SQL
Tabla venta-----------------------------(datos de tablas sql, copiando iformacion de capa logica vba.net)
gid_codigo = id_codigo
gprecio_venta = precio_venta
gcantidad = cantidad
gdescripcion = descripcion
gtotal = total
gfecha = fecha
gconsecutivo = consecutivo
Tabla producto--------------------------------------------------------------------------------------
gid_codigo = id_codigo
gpcosto = pcosto
gpventa = pventa
gdescripcion = descripcion
gstock = stock
gcategoria = categoria
gventas = ventas
Procedimiento aumentar stock--------------------------------------------------------------------
ALTER proc [dbo].[aumentarstock]
@id_codigo varchar (256),
@cantidad varchar (50)
as
update producto set stock = stock + @cantidad
where id_codigo = @id_codigo
Codigo capa de datos donde llama a aumentarentas--------------------------------------------------
Public Function aumentarstock(ByVal dts As vventas) As Boolean
Try
conectado()
cmd = New SqlCommand("aumentarstock")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@id_codigo", dts.gid_codigo)
cmd.Parameters.AddWithValue("@cantidad", dts.gcantidad)
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function
codigo de eliminacion de stock en visual form historialventa-----------------------------------------
Dim cantidada As Integer
result = MessageBox.Show("Realmente desea eliminar este dato?", "eliminando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If result = DialogResult.OK Then
Try
For Each row As DataGridViewRow In DataGridView1.Rows
Dim marcardo As Boolean = Convert.ToBoolean(row.Cells("eliminar").Value)
If marcardo Then
Dim onekey As Integer = Convert.ToInt32(row.Cells("consecutivo").Value)
''puede existir error aqui por id_codigo
Dim vdb As New vventas
Dim func As New fventa
vdb.gconsecutivo = onekey
vdb.gcantidad = cantidada
If func.eliminar(vdb) Then
func.aumentarstock(vdb) <-------------------------------------
Else
MessageBox.Show("producto no eliminado", "eliminando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
Next
Call mostrar()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else