SQL - Problema con UPDATE Y SELECT

 
Vista:

Problema con UPDATE Y SELECT

Publicado por espegal (7 intervenciones) el 11/05/2007 19:20:30
Tengo este código:
wsql2 = "UPDATE COMPROBEXIS " & _
"SET MVTO_COMPRAS = XX.TTT " & _
"FROM COMPROBEXIS " & _
" (SELECT PARTI, SUM (PCANT) AS TTT " & _
" FROM ALBAPROVE " & _
"WHERE YEAR(PSERV) = '" & W_AÑO & "' " & _
"GROUP BY PARTI) AS XX " & _
"WHERE COMPROBEXIS.MVTO_CODI = XX.PARTI "

cuando lo ejecuto me da el sieguiente error:

Error de sintaxis (falta operador) en la expresion de consulta

XX.TTT " & _
"FROM COMPROBEXIS " & _
" (SELECT PARTI, SUM (PCANT) AS TTT " & _
" FROM ALBAPROVE " & _
"WHERE YEAR(PSERV) = '" & W_AÑO & "' " & _
"GROUP BY PARTI) AS XX " & _
"WHERE COMPROBEXIS.MVTO_CODI = XX.PARTI "

El asunto trata de actualizar en una tabla (COMPROBEXIS) un campo con la suma de otro que esta en (ALBAPROVE) cuando los campos coincidan.

Si me podeis echar una mano pues me estoy volviendo loco.
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

RE:Problema con UPDATE Y SELECT

Publicado por Isaías (5072 intervenciones) el 11/05/2007 21:06:18
Cambialo por este:

UPDATE COMPROBEXIS
SET MVTO_COMPRAS = XX.TTT
FROM COMPROBEXIS JOIN
(SELECT PARTI, SUM (PCANT) AS TTT
FROM ALBAPROVE
WHERE YEAR(PSERV) = '" & W_AÑO & "'
GROUP BY PARTI) AS XX
ON COMPROBEXIS.MVTO_CODI = XX.PARTI
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

RE:Problema con UPDATE Y SELECT

Publicado por ESPEGAL (7 intervenciones) el 12/05/2007 08:59:17
Gracias por tu ayuda. He hecho lo que dices y me sigue dando el mismo error.
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

RE:Problema con UPDATE Y SELECT

Publicado por Isaías (5072 intervenciones) el 13/05/2007 19:47:09
¿Que base de datos estas ocupando?, Manda nuevamente la estructura de tu query, como quede al final.
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

RE:Problema con UPDATE Y SELECT

Publicado por ESPEGAL (7 intervenciones) el 14/05/2007 18:18:10
Estoy usando access 2000.
He hecho una prueba con UPDATE sin poner la SELECT y actualizando toda la base con una cantidad fija y funciona.
Me da la sensación que a partir de igualar el campo XX.TTT falla
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

RE:Problema con UPDATE Y SELECT

Publicado por espegal (7 intervenciones) el 14/05/2007 18:21:47
Perdón se me olvidó :

Dim CN As Connection
Dim RS As Recordset
Set CN = New Connection
Set RS = New Recordset
CN.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE= C:\VISUAL\SAOL\BD\COLCHONES.MDB"
wsql2 = "UPDATE COMPROBEXIS " & _
"SET MVTO_COMPRAS = XX.TTT " & _
"FROM COMPROBEXIS " & _
" (SELECT PARTI, SUM (PCANT) AS TTT " & _
" FROM ALBAPROVE " & _
"WHERE YEAR(PSERV) = '" & W_AÑO & "' " & _
"GROUP BY PARTI) AS XX " & _
"WHERE COMPROBEXIS.MVTO_CODI = XX.PARTI "
RS.Open wsql2, CN, adOpenDynamic, adLockOptimistic
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

RE:Problema con UPDATE Y SELECT

Publicado por Isaías (5072 intervenciones) el 14/05/2007 19:42:33
La estructura que yo te envie de regreso trae un JOIN y un ON en lugar del WHERE, ¿cierto?
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

RE:Problema con UPDATE Y SELECT

Publicado por espegal (7 intervenciones) el 14/05/2007 22:04:15
CIERTO. Pero como me daba el mismo error y viendo las estructuras que funcionaban eran como esta pues deje la que tenia.
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

RE:Problema con UPDATE Y SELECT

Publicado por Isaías (5072 intervenciones) el 15/05/2007 17:20:59
Ok
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