Visual Basic - problema con descuento de stock en datagridview

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 22
Ha aumentado su posición en 414 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

problema con descuento de stock en datagridview

Publicado por pablo (24 intervenciones) el 16/02/2017 16:56:07
Buenos dias

Soy nuevo en Visual y estoy armando un proyecto y solo me falta este temita para poder terminarlo.
Tengo form donde realice una factura y quiero que al darle al boton imprimir, me descuente los productos que se vendieron de la base echa en acces.

cantidad codigo prodcuto total
2 12 regla 20
3 18 lapiz 15

Abajo les dejo el codigo, si lo uso asi como esta solo me resta el stock del primer producto y el segundo no lo modifica, me aconsejaron poner el next del for each al final del codigo, pero si lo hago asi toma la cantidad del primer y segundo producto y se la resta solo al primero.

desde ya muchas gracias y saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cmd.Connection = conexionstock
cmd.CommandType = CommandType.Text
 
For Each row As DataGridViewRow In DataGridView1.Rows
    cmd.Parameters.AddWithValue("@cantidad", row.Cells("cantidad").Value)
    cmd.Parameters.AddWithValue("@codigo", row.Cells("codigo").Value)
Next
sql = " UPDATE STOCK SET CANTIDAD = CANTIDAD - @cantidad WHERE ID = @codigo "
 
cmd.CommandText = sql
 
Try
    cmd.ExecuteNonQuery()
Catch ex As Exception
    MsgBox(ex.ToString)
End Try
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Edward
Val: 160
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

problema con descuento de stock en datagridview

Publicado por Edward (57 intervenciones) el 17/02/2017 14:41:50
Buen día para todos,

Pablo, te comparto un link que te puede ayudar en lo que necesitas.


https://aprendamosdeprogramacion.wordpress.com/2017/01/03/exportar-datos-o-registros-de-un-datagridview-a-una-base-de-datos-sqlite-access-y-mysql-con-vb-net/


Solo debes adaptarlo a tu necesidad.


Te dejo como te podría quedar, no lo he probado así que disculpa si te arroja algún error.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
':::Procedimiento para conexion a Access
Dim Con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\Tutoriales\Tutoriales.mdb")
 
':::Declaramos nuestra variable Sql que almacenara nuestra consuta
Dim Sql As String = ""
 
':::Usamos un ciclo For Each para recorrer nuestro DataGridView llamado DataGridView1
For Each Row As DataGridViewRow In DataGridView1.Rows
		':::Obtenemos los valores que vamos a pasar a nuestra consulta para ser guardados
		Dim cantidad As Integer = Row.Cells("Cantidad").Value
		':::Codigo
		Dim Codigo As Integer = Row.Cells("Codigo").Value
 
		':::Creamos nuestra consulta de tipo Insert y le pasamos nuestros valores
		Sql = " UPDATE STOCK SET CANTIDAD = CANTIDAD - " & cantidad & " WHERE ID = " & Codigo & " "
 
	    Dim cmd As New OleDbCommand(Sql, Con)
           Try
               Con.Open()
               cmd.ExecuteNonQuery()
               Con.Close()
           Catch ex As Exception
               MsgBox("No se pueden actualizar los registro por: " & ex.Message, MsgBoxStyle.Critical, ":::Aprendamos de Programación:::")
           End Try
Next


Espero haber sido de ayuda.

Que tengan buen día,

El conocimiento siempre debe ser compartido, para que entre todos aprendamos un poco mas...

Mas ejemplos acá...

https://aprendamosdeprogramacion.wordpress.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 22
Ha aumentado su posición en 414 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

problema con descuento de stock en datagridview

Publicado por pablo (24 intervenciones) el 17/02/2017 20:36:15
muchas gracias

pero no hay forma, me dice que no se pudo modificar porque la base esta abiera, puse el con.close() en varios lados pero no funciona.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Edward
Val: 160
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

problema con descuento de stock en datagridview

Publicado por Edward (57 intervenciones) el 17/02/2017 22:28:51
Buen día para todos,

Pablo, revisa el Load como estas iniciando la aplicación, también puede ser que tengas la conexión en una clase y este declarando un objeto para instanciar la clase al inicio de la aplicación.


Espero haber sido de ayuda.

Que tengan buen día,

El conocimiento siempre debe ser compartido, para que entre todos aprendamos un poco mas...

Mas ejemplos acá...

https://aprendamosdeprogramacion.wordpress.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 22
Ha aumentado su posición en 414 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

problema con descuento de stock en datagridview

Publicado por pablo (24 intervenciones) el 20/02/2017 23:05:05
Muchas gracias , ahi funciono , tenia me faltaba modificar como inicia la aplicacion, que lo saque del link que me pasaste .

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar