Eliminar registros desde Access en tablas vinculadas de SQL Server

Tengo un Access con 3 tablas vinculadas en SQL Server. Las tres tablas están aisladas, no tienen relaciones entre si ni con otras. Son realmente contenedores de datos, no tienen indices, porque encima los datos puedes estar repetidos cuantas veces sea necesario. Una de las operaciones que realizo es:

DoCmd. RunSQL "DELETE * FROM EC_94_20", para vaciar la tabla y volver a rellenarla con nuevos datos a través de una consulta o varias de actualización o anexar. Pero me da un error. No se eliminaron los registros. Los datos son de solo lectura.

He revisado el usuario con el que entro a SQL, he revisado la cadena, creo que están correctos. Pero he detectado que al reconectar la tabla de nuevo, me pide los indices de la tabla. Si no pongo campos me da el error de arriba, pero si pongo un campo como indice me deja hacer algunas cosas (borrar o añadir una linea manualmente), pero no un DELETE completo desde VBA porque va a borrar registros duplicados y no le parece bien. Aduce problemas de indices y que hay datos duplicados. He comprobado y los usuarios meten varias veces el mismo registro por distintos motivos, pueden y deben hacerlo. ¿Cómo solvento este problema?

Respuesta

Prueba con currentdb().Execute  "DELETE * FROM EC_94_20;"

Si no funciona añade otra línea que ponga

MsgBox currentdb().recordsaffected

Si sale 0 es que no se ha actualizado ninguno. Para comprobar porqué no se actualizaron copia "DELETE * FROM EC_94_20;" en una Query como SQL y te aparecerá el error que corresponda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas