Sentencia sql de actualización en Access
Tengo varias bases de datos que voy a unificar. Hasta ahora esas bases utilizaban como clave un campo de tipo texto, pero aprovechando esta unificación quería cambiar las relaciones entre tablas: utilizar como clave primaria en la tabla principal un autonumérico, unido a un numérico con duplicados en la tabla secundaria.
Ahora bien, cuando me fui a escribir la siguientes sentencia para conseguirlo:
UPDATE tabla2
SET tabla2.id= (SELECT tabla1.id FROM tabla1 WHERE tabla1.campo_texto=tabla2.campo_texto);
Me encontré con el siguiente mensaje de error de Access:
"La operación debe usar una consulta actualizable".
He probado esta sentencia tanto en Mysql como en PostgreSql, y funciona perfectamente. ¿Alguien sabe como sería la sintaxis en Access para que funcionará?
En cuanto a hacerlo con los otros servidores, como la base ha de estar en Access, he exportado las tablas a Mysql, he hecho la actualización sin problema y he vuelto a importar las tablas. Pero el problema es que al importar la tabla principal de vuelta a Access me encuentro con que el campo autonumérico, se convierte en numérico con lo cual se me fastidia el invento.
Ahora bien, cuando me fui a escribir la siguientes sentencia para conseguirlo:
UPDATE tabla2
SET tabla2.id= (SELECT tabla1.id FROM tabla1 WHERE tabla1.campo_texto=tabla2.campo_texto);
Me encontré con el siguiente mensaje de error de Access:
"La operación debe usar una consulta actualizable".
He probado esta sentencia tanto en Mysql como en PostgreSql, y funciona perfectamente. ¿Alguien sabe como sería la sintaxis en Access para que funcionará?
En cuanto a hacerlo con los otros servidores, como la base ha de estar en Access, he exportado las tablas a Mysql, he hecho la actualización sin problema y he vuelto a importar las tablas. Pero el problema es que al importar la tabla principal de vuelta a Access me encuentro con que el campo autonumérico, se convierte en numérico con lo cual se me fastidia el invento.
Respuesta de santiagomf
1