Visual Basic - Actualizar base de datos

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

Actualizar base de datos

Publicado por pablo (52 intervenciones) el 13/02/2017 21:24:21
Buenas tardes

les hago una consulta , estoy diseñando una factura y a la hora de darle al boton imprimir quiero que a su vez
me descuente los productos que se facturan de la base echa en acces.
El problema es que solo logro que me descuente el ultimo producto que se ingresa y no todos los que se cargan en el datagridview.

Espero puedan ayudarme y desde ya muchas gracias.
Saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim cantidad As String
Dim id As String
 
id = Textcodigopro3.Text
cantidad = Textcantidad3.Text
 
 
cmd.Connection = conexionstock
cmd.CommandType = CommandType.Text
 
sql = " UPDATE STOCK SET CANTIDAD = CANTIDAD - " & cantidad & " WHERE ID = " & id & ""
 
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
-1
Responder
sin imagen de perfil
Val: 24
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Actualizar base de datos

Publicado por Bruno (11 intervenciones) el 14/02/2017 17:41:02
Por lo que se logra ver en el código, estas actualizando solo el producto ID que se encuentre en la variable id y dicha variable se asigna por medio de Textcodigopro3.Text.

Tendrías que cambiar el WHERE de la forma "ID in (producID1, ..., producIDn);"

Saludos
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: 73
Ha disminuido su posición en 2 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Actualizar base de datos

Publicado por pablo (52 intervenciones) el 15/02/2017 00:22:42
Ahi encontre la forma de que empieze actualizando la primer celda y ahora quedo asi, lo que no logro es hacer que el datagrid recorra la columna y me actualize todos los productos ingresados , solo modifica el primero, alguna idea para que eso, yo probe con :For Each R As DataGridViewRow In DataGridView1.Rows , pero nada

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cmd.Connection = conexionstock ' le digo a la variable cmd que se conecte a la base
cmd.CommandType = CommandType.Text
 
For Each row As DataGridViewRow In DataGridView1.Rows 'con este codigo le digo al programa las filas que quiero del datagridview
    cmd.Parameters.AddWithValue("@cantidad", row.Cells("cantidad").Value)
    cmd.Parameters.AddWithValue("@codigo", row.Cells("codigo").Value)
Next
 
'For Each R As DataGridViewColumn In DataGridView1.Columns
sql = " UPDATE STOCK SET CANTIDAD = CANTIDAD - @cantidad WHERE ID = @codigo "
 
'Next
cmd.CommandText = sql
Try
    cmd.ExecuteNonQuery() ' le digo a la variable cmd que guarde el registro
Catch ex As Exception
    MsgBox(ex.ToString)
End Try
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 24
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Actualizar base de datos

Publicado por Bruno (11 intervenciones) el 15/02/2017 18:24:56
Proba de la línea 8 para abajo, va todo dentro del For Each.

Saludos
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