Reemplazar texto en Access con una función

Tengo una tabla llena de campos personales, uno de ellos, es el de "nombre y apellidos".

La información de esta tabla, proviene de una base de datos de un aplicación externa, pero hace mal la conversión de la letra "Ñ". En su lugar, pone el carácter " # "-

Así, por ejemplo:

NU#EZ IGLESIAS, ALBERTO

PI#EIRO COLL, MARIA

A#OS TORRIJO, CECILIA

Mi idea, es que quiero que cada vez que hago abro la tabla (la cual esta vinculada), se aplique una función automática que reemplace la # por Ñ.

Sobre creación de tablas o creación de consulta de actualización no hay problema, pero no consigo hacer funcionar correctamente la función "Reemplazar o Replace".
¿Alguna idea?

Respuesta
1

Antes de nada una duda. Dices que los datos los ves en una tabla vinculada en Access a otro gestor de datos, y que desde el vínculo en Access ves la Ñ como #. Si esto es cierto no debes de hacer nada sobre el vínculo, ya que estarías modificando en el fondo los datos en el origen externo, y ya que por lo que te sucede el juego de caracteres no es el mismo en ambos entornos, los resultados pueden ser inesperados.

Por otra parte no creo que puedas lanzar funciones simplemente por abrir una tabla desde la ventana del explorador. Lo normal es crearte algún formulario en donde colocar distintas utilidades de la aplicación o...

Yo lo plantearía de otra forma.

Puedes crearte una tabla local en Access que tenga la misma estructura de campos que la tabla vinculada. Para mantener los mismos registros creas una consulta de búsqueda de no coincidentes (usando el asistente es sencillo) de modo que los registros nuevos que existan en la tabla vinculada sean copiados a la tabla local de Access. Con esto de momento mantienes actualizada la tabla local. Para cambiar el # por Ñ basta con ejecutar una consulta de actualización de datos sobre la tabla local para que haga la sustitución. Si por ejemplo a la tabla local la llamas MiTablaLocal y el campo tal y como citas, esta consulta ejecutaría el cambio sin problemas:

UPDATE MiTablaLocal SET MiTablaLocal .[nombre y apellidos] = Replace([nombre y apellidos],"#","Ñ");

SI usas código puedes desde él lanzar las dos consultas en el orden lógico (primero que se incorporen los nuevos registros y luego que se hagan las sustituciones).

Cordiales saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas