necesito modificar esta consulta para actualizar el stock mediante sql

09/01/2007 - 09:46 por Sonia | Informe spam
al facturarcon vb.net, guardo la cabecera de la factura y las lineas de este
modo:

'cabecera

mysql = "insert into FACTURAS (NUMERO_FACTURA, CLIENTE, FECHA, ID_PEDIDO,
REFERENCIA, EMPLEADO, DTO1, DTO2, DTO3, DTO4, modo_pago, iva, ALMACEN,
OBSERVACIONES, codigo_pago) values ('" & numfac.Text & "','" & codcli.Text
& "','" & fechafac.Text & "','" & idgenerarfactura & "','" & referencia.Text
& "','" & Operadora.Text & "','" & d1.Text & "','" & d2.Text & "','" &
d3.Text & "','" & d4.Text & "'," & modogenerarfactura & "," & iva2 & ",'" &
almacen & "','" & tocho & "','" & pago & "')"
nuevo.Gestionar(mysql)

'lineas

mysql = "INSERT INTO lineas_factura (numero_factura, codigo, cantidad, pvp,
titulo, codigo_articulo, dto) SELECT " & num & ",isbn, cantidad, pvp,
titulo, cod_art, dto_gen FROM generarlineasfactura where id_pedido=" & idped
CrearMiOleDbCommand(mysql, CadenaConexion)


ahora necesito modificar el stock pero kisiera hacerlo dela forma mas eficaz
y rapida posible, es decir, desde las lineas facturas, para lo cual me falta
como buscar de una sola consulta los campos 'clave' y stock' de las todas
las lineas factura de esa factura

me podeis decir como hacerlo
la forma una a una sacando para cada linea esos 2 campos seria esta, pero es
muy lenta.
queria hacerlo de forma similar a como guardo las lineas (mediante otra
consulta), per con el update no se como hacerlo

gracias!

mysql = "update stock set stock=stock -" & canti & " where CLAVE ='" &
cod_art & "' AND ALMACEN='" & alm & "'"
CrearMiOleDbCommand(mysql, CadenaConexion)

Preguntas similare

Leer las respuestas

#1 Sonia
09/01/2007 - 10:07 | Informe spam
me explico.

ahora teng una tabla consulta llamada
'stockactualiza'
con los campos:
numero_factura, codigo_articulo,cantidad,almacen

cuando guardo laslineas dela factura kiero q mi tabla 'stock'
q contine 3 campos: almacen,articulo,stock
actualice la columna stock para cada articulo de una factura, cogiendolo de
la consulta de arriba
el problema es q se hacer el update si tengo los campos a actualizar en
textbox,string, etc, per no se cgerlo de una consulta
seria algo como
para el numero de factura x, actualizar el stock
como puedo hacerlo?
gracias!111111111111111

"Sonia" escribió en el mensaje
news:
al facturarcon vb.net, guardo la cabecera de la factura y las lineas de


este
modo:

'cabecera

mysql = "insert into FACTURAS (NUMERO_FACTURA, CLIENTE, FECHA, ID_PEDIDO,
REFERENCIA, EMPLEADO, DTO1, DTO2, DTO3, DTO4, modo_pago, iva, ALMACEN,
OBSERVACIONES, codigo_pago) values ('" & numfac.Text & "','" &


codcli.Text
& "','" & fechafac.Text & "','" & idgenerarfactura & "','" &


referencia.Text
& "','" & Operadora.Text & "','" & d1.Text & "','" & d2.Text & "','" &
d3.Text & "','" & d4.Text & "'," & modogenerarfactura & "," & iva2 & ",'"


&
almacen & "','" & tocho & "','" & pago & "')"
nuevo.Gestionar(mysql)

'lineas

mysql = "INSERT INTO lineas_factura (numero_factura, codigo, cantidad,


pvp,
titulo, codigo_articulo, dto) SELECT " & num & ",isbn, cantidad, pvp,
titulo, cod_art, dto_gen FROM generarlineasfactura where id_pedido=" &


idped
CrearMiOleDbCommand(mysql, CadenaConexion)


ahora necesito modificar el stock pero kisiera hacerlo dela forma mas


eficaz
y rapida posible, es decir, desde las lineas facturas, para lo cual me


falta
como buscar de una sola consulta los campos 'clave' y stock' de las todas
las lineas factura de esa factura

me podeis decir como hacerlo
la forma una a una sacando para cada linea esos 2 campos seria esta, pero


es
muy lenta.
queria hacerlo de forma similar a como guardo las lineas (mediante otra
consulta), per con el update no se como hacerlo

gracias!

mysql = "update stock set stock=stock -" & canti & " where CLAVE ='" &
cod_art & "' AND ALMACEN='" & alm & "'"
CrearMiOleDbCommand(mysql, CadenaConexion)




Respuesta Responder a este mensaje
#2 Yonaides
09/01/2007 - 15:37 | Informe spam
lo que necesitas es un subquery
algo parecido a esto.
no se si mySql lo soporte pero intenta algo como esto bien.

verifica este ejemplo ok.
update carro set carro.color="verde", carro.gomas="4", carro.puertas="2";
where carro.idcarro= ( select carro.idcarro select taller where
taller.idcarro="001")

lo que hace esto es actualizar todos los carros que retorne la subConsulta
de
taller ya filtrada
lo puedes probrar sin filtros para haber que pasa

saludos desde Rep. Dom.
ATT Yonaides

"Sonia" escribió en el mensaje
news:
me explico.

ahora teng una tabla consulta llamada
'stockactualiza'
con los campos:
numero_factura, codigo_articulo,cantidad,almacen

cuando guardo laslineas dela factura kiero q mi tabla 'stock'
q contine 3 campos: almacen,articulo,stock
actualice la columna stock para cada articulo de una factura, cogiendolo
de
la consulta de arriba
el problema es q se hacer el update si tengo los campos a actualizar en
textbox,string, etc, per no se cgerlo de una consulta
seria algo como
para el numero de factura x, actualizar el stock
como puedo hacerlo?
gracias!111111111111111

"Sonia" escribió en el mensaje
news:
al facturarcon vb.net, guardo la cabecera de la factura y las lineas de


este
modo:

'cabecera

mysql = "insert into FACTURAS (NUMERO_FACTURA, CLIENTE, FECHA, ID_PEDIDO,
REFERENCIA, EMPLEADO, DTO1, DTO2, DTO3, DTO4, modo_pago, iva, ALMACEN,
OBSERVACIONES, codigo_pago) values ('" & numfac.Text & "','" &


codcli.Text
& "','" & fechafac.Text & "','" & idgenerarfactura & "','" &


referencia.Text
& "','" & Operadora.Text & "','" & d1.Text & "','" & d2.Text & "','" &
d3.Text & "','" & d4.Text & "'," & modogenerarfactura & "," & iva2 & ",'"


&
almacen & "','" & tocho & "','" & pago & "')"
nuevo.Gestionar(mysql)

'lineas

mysql = "INSERT INTO lineas_factura (numero_factura, codigo, cantidad,


pvp,
titulo, codigo_articulo, dto) SELECT " & num & ",isbn, cantidad, pvp,
titulo, cod_art, dto_gen FROM generarlineasfactura where id_pedido=" &


idped
CrearMiOleDbCommand(mysql, CadenaConexion)


ahora necesito modificar el stock pero kisiera hacerlo dela forma mas


eficaz
y rapida posible, es decir, desde las lineas facturas, para lo cual me


falta
como buscar de una sola consulta los campos 'clave' y stock' de las todas
las lineas factura de esa factura

me podeis decir como hacerlo
la forma una a una sacando para cada linea esos 2 campos seria esta, pero


es
muy lenta.
queria hacerlo de forma similar a como guardo las lineas (mediante otra
consulta), per con el update no se como hacerlo

gracias!

mysql = "update stock set stock=stock -" & canti & " where CLAVE ='" &
cod_art & "' AND ALMACEN='" & alm & "'"
CrearMiOleDbCommand(mysql, CadenaConexion)









email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida