ACCESS. ¿Como puedo modificar/actualizar gran cantidad de campos en registros existentes?

Tengo una tabla particulares dónde tengo todos los registros de mi agenda cial. Me interesaría poder "modificar/actualizar" algunos campos a muchos registros cuando se cumpla que haya firmado la nueva ley RGPD. Estos datos los tengo en otra tabla access dentro de la misma BD(que exporto de un programa de mail masivo a excel i de excel a access)con los mismos campos y tipos de datos que Particulares(incluyendo el campo principal código). En anteriores ocasiones he utilizado consultas de actualización para incrustar un texto o valor fijo a todos los que cumplen un criterio pero no es este el caso, ya que tengo que insertar la fecha que han firmado, y la via de acceso y esta es distinta a cada particular.

He probado (adjunto sql) de hacer una consulta anexada pero lo que hace es hacerme x registros nuevos, y yo lo que quiero es que me modifique los registros que coincidan con el código de ambas tablas.

INSERT INTO Particulares (RGPD, DataA_RGPD, ViaA_RGPD )
SELECT TRUEPARTICULARS230518.[RGDPR Aceptada], TRUEPARTICULARS230518.[RGDPR Fecha], TRUEPARTICULARS230518.Via
FROM TRUEPARTICULARS230518 INNER JOIN Particulares ON TRUEPARTICULARS230518.CODI = Particulares.Cod
WHERE (((TRUEPARTICULARS230518.[RGDPR Aceptada])=Yes)); 'esto lo hace igual con o sin where

1 Respuesta

Respuesta
  1. UPDATE 

    SET

        tabla1.id = tabla2. Id (el campo coincidente o identificador entre ambas tablas)

    FROM  tabla_primera tabla1

        JOIN

          tabla_segunda tabla2

        ON   tabla2.campo_a_modificar = tabla1.campo_a_modificar

HOLA

MIL Gracias por responder tan rápido. He intentado introducir el texto sql pero después de varios intentos haciendo cambios vuelvo a necesitar ayuda. Me da error de sintaxis de todas la formas. (hay que decir que lo introduzco en vista sql del apartado consultas no en apartado visual)

UPDATE Particulares SET TRUEPARTICULARS230518.CODI = Particulares.Cod
FROM TRUEPARTICULARS230518
JOIN Particulares ON TRUEPARTICULARS230518.[RGDPR Aceptada] = PARTICULARES.RGPD, TRUEPARTICULARS230518.[RGDPR Fecha] = PARTICULARES.DataA_RGPD, TRUEPARTICULARS230518.Via=ViaA_RGPD

A ver si me puedes echar una mano.

¿Qué error de sintaxis te da?

Con el texto insertado que te puesto antes dice:

Error de sintaxis(falta operador)en la expresion de consulta 'Particulares.Cod  FROM TRUEPARTICULARS230518 JOIN Particulares ON TRUEPARTICULARS230518.[RGDPR Aceptada] = PARTICULARES.RGPD'.

Le he puesto una , despúes Particulares.Cod,

UPDATE Particulares SET TRUEPARTICULARS230518.CODI = Particulares.Cod,

Y entonces me dice error de sintaxis en la instrucción UPDATE y me señala FROM

:(

No puede separar los criterios con comas, tienen que ir con AND si quieres cumplir todos.

Hola,

Supongo que hay diferencias de sintaxis cuando lo trabajar de un entorno a otro, en access en el entorno de consultas diseño/sql si están permitidas las comas.

Finalmente no me ha dado error de sintaxis con el sql que figura abajo pero la actualización la hace a la tabla que no es, es decir la que tiene los datos buenos para actualizar a la otra. Da igual el orden que ponga tabla1 inner join tabla 2 o tabla2 inner join table1... si me puedes hacer algún comentario lo agradecería, ya ves que no me ganaría la vida con esto pero tengo que terminar la modificación o ya me veo picado registro a registro jaja. Gracias

UPDATE PARTICULARES INNER JOIN TRUEPARTICULARS230518 ON PARTICULARES.Cod = TRUEPARTICULARS230518.CODI SET TRUEPARTICULARS230518.[RGDPR Fecha] = [PARTICULARES].[DataA_RGPD], TRUEPARTICULARS230518.[RGDPR Aceptada] = [PARTICULARES].[RGPD], TRUEPARTICULARS230518.Via = [PARTICULARES].[ViaA_RGPD];

Si la actualización la hace al revés tienes que poner todo al revés. Donde veas PARTICULARES cambia a TRUEPARTICULARS230518 y en los = cambia las tablas de lado. Con eso tendría que actualizarte al revés.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas