Access - Actualizar un campo a partir de una consulta

 
Vista:

Actualizar un campo a partir de una consulta

Publicado por Pancho (1 intervención) el 25/03/2005 12:58:31
Hola todos

El problema es el siguiente

Tengo dos tablas FACT y FACY que son encabezado de la factura y partidas de
la factura ambas estan en MDB, necesito realizar con una sola sentencia en
SQL actualizar el valor maximo de partidas por cada factura buscando en la
tabla de partidas correspondiente la ultima partida registrada, es decir
trate de probar de la siguiente manera

UPDATE FACT AS F SET NUM_PART=(SELECT MAX(PARTIDA) FROM FACY AS Y WHERE
Y.TIP_DOC=F.TIP_DOC AND Y.CVE_DOC=F.CVE_DOC);

como ven la instruccion es bastante simple, el generador de SQL no me arroja
error lo cual me dice que sintacticamente esta bien construida, pero cuando
lo ejecuto me devuelve el error de que el recordset no es actualizable!

Alguien podria hechar una mano en esto! aunque sea por curiosidad, o existe
alguna otra manera de hacerlo?

Gracias de antemano

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 Alejandro

Actualizar valor máximo de partidas en tabla FACT

Publicado por Alejandro (4142 intervenciones) el 30/05/2023 17:13:05
El error "el recordset no es actualizable" puede ocurrir cuando intentas actualizar un campo en una consulta que involucra múltiples tablas o subconsultas. Para solucionar esto, puedes probar una alternativa en la que utilices una subconsulta en la cláusula WHERE del comando UPDATE.

Prueba con la siguiente sentencia SQL:

1
2
3
4
UPDATE FACT AS F
SET F.NUM_PART = (SELECT MAX(Y.PARTIDA)
                  FROM FACY AS Y
                  WHERE Y.TIP_DOC = F.TIP_DOC AND Y.CVE_DOC = F.CVE_DOC)

Esta sentencia utiliza una subconsulta en la cláusula WHERE para obtener el valor máximo de "PARTIDA" en la tabla FACY para cada factura correspondiente en la tabla FACT. A continuación, se actualiza el campo "NUM_PART" en la tabla FACT con el valor obtenido.

Ten en cuenta que debes asegurarte de que las relaciones y claves entre las tablas estén correctamente definidas para que la consulta funcione correctamente.

Espero que esta solución te ayude a actualizar el valor máximo de las partidas en la tabla FACT. ¡Buena suerte!
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