Visual Basic - UPDATE CON SUBCONSULTA

Life is soft - evento anual de software empresarial
   
Vista:

UPDATE CON SUBCONSULTA

Publicado por Eduardo (5 intervenciones) el 21/04/2016 01:13:21
Hola a todos.
Estoy trabado con una actualizacion que quiero hacer a una tabla con la suma de valores guardado en otra tabla.
estoy trabajando con VB6 y access 2000(viejito ya)

Me tira error " no se han especificado valores para algunos parametros requeridos"

TablaStock.Open "update stock set EntradaRemito=remitos.cantidad where (select sum(cantidad) as cantidad from remitos where articulo=stock.articulo)", Base, adOpenDynamic, adLockOptimistic


si alguien me da una mano por favor, muchas gracias
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 Andres Leonardo

UPDATE CON SUBCONSULTA

Publicado por Andres Leonardo (702 intervenciones) el 01/05/2016 14:36:32
y has intentado hacer esa sentencia desde el mismo access??

primero pruebala que funcione en access y luego la mandas desde vb
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

UPDATE CON SUBCONSULTA

Publicado por Eduardo (5 intervenciones) el 05/05/2016 02:45:48
Gracias Andres, lo probe en Access y me pasa lo mismo, no logor hacerlo funcionar. si alguien mas me puede dar una mano por favor.
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 Andres Leonardo

UPDATE CON SUBCONSULTA

Publicado por Andres Leonardo (702 intervenciones) el 05/05/2016 15:56:49
Listo es la subconsulta el error puedes compartir la informacion ? o el access para intentar ayudarte

Intenta esto
1
2
3
4
5
'asi esta
update stock set EntradaRemito=remitos.cantidad where (select sum(cantidad) as cantidad from remitos where articulo=stock.articulo)
'Intenta asi
update stock set EntradaRemito=remitos.cantidad where XXCAMPO =  (select sum(cantidad) as cantidad from remitos where articulo=stock.articulo)
' aqui XXcampo es el campo que quieres hacer el filtro del where
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

UPDATE CON SUBCONSULTA

Publicado por Eduardo (5 intervenciones) el 06/05/2016 05:22:06
aca te dejo el archivo access con lo basico para ver si lo podes hacer.
te dejo un link en el que dice que el valor que se utiliza para la actualizacion no puede ser de una subconsulta

http://www.aulaclic.es/sql/t_6_4.htm

Gracias Andres por la dedecacion.
Eduardo
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

UPDATE CON SUBCONSULTA

Publicado por Juan Gilberto (278 intervenciones) el 06/05/2016 00:29:14
Mi comentario No es para solucionar tu problema
Sino para sugerirte que utilices la instruccion Execute directamente sobre la conexion a la base de datos cuando se trate de Insert, Update y Delete
Y cuando se trate de Select s utilizar el Open de un recordset ya que esta instruccion si regresa registros

Siguiendo tu codigo, seria asi:
1
Base.Execute  "UPDATE stock set EntradaRemito=remitos.cantidad WHERE (SELECT SUM(cantidad) as cantidad FROM remitos WHERE  articulo=stock.articulo)"
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

UPDATE CON SUBCONSULTA

Publicado por Eduardo (5 intervenciones) el 06/05/2016 05:24:50
Si, tenes razon Juan, me sirve para estos casos en los que solo quiero actualizar los datos de la base.
sigo si poder solucionar el UPDATE con La Subconsulta.


Gracias. Abrazo
Eduardo
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

UPDATE CON SUBCONSULTA

Publicado por Juan Gilberto (278 intervenciones) el 06/05/2016 17:26:41
Prueba con esta solucion...
1
2
3
4
5
UPDATE stock
   SET EntradaRemito = (SELECT sum(cantidad) as cantidad
                        FROM   remitos
                        WHERE  articulo = stock.articulo)
WHERE  stock.articulo = remitos.articulo
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

UPDATE CON SUBCONSULTA

Publicado por Eduardo (5 intervenciones) el 07/05/2016 06:19:05
No Juan, Sigue sin funcionar. el problema esta cuando el resultado de la subconsulta es es valor que voy a utilizar para actualizar el campo.

Sigo probando, si lo llego a sacar lo publico ovbiamente.

Gracias Juan, Abazo
Pd. acepto todas las sugerencias posibles, de algun cerebro va a salir la valida.
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 Andres Leonardo

UPDATE CON SUBCONSULTA

Publicado por Andres Leonardo (702 intervenciones) el 09/05/2016 22:54:27
Creo que te tocara hacer consulta y obtner el valor estaba leyendo que
The Access Database Engine simple does not support the vanilla SQL-92 scalar subquery syntax even when in its own so-called ANSI-92 Query Mode.

Haz que el select te de el valor --filtro
y luego haces el Update....

Espero te ayude
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