Te estaría muy agradecido si pudieras informarme de como puedo sustituir la función de sql nativo replace o decode para poder utilizarla en una consulta de access sql.
La verdad es que no se que hacen esas funciones de sql nativo. Si me lo dices fijo que te puedo ayudar CArLeS!
Muchas gracias por tu respuesta, te lo explico un poco mejor. Lo que realmente necesito es una función que me permita sustituir uno o varios caracteres, por otros caracteres dentro de una cadena. En en Sql de Oracle dicha función se llama replace, pero dentro del Sql que utiliza access no me la reconoce. Utilizo Access2000.
Para solucionar esto, crea una función pública en un módulo. Ahí puedes utilizar código visual basic y luego esa función la podrás llamar desde una consulta SQL-Access. ´ Crea un nuevo módulo y añade el siguiente código: Public Function SUSTITUIR(sSource As String, sText As String, sNewText As String) As String SUSTITUIR = Replace(sSource, sText, sNewText, , , vbTextCompare) End Function Ahora podrás utilizar la función en tus consultas. Para hacerlo, aquí tienes la descripción de los parámetros: SSource (primero parámetro) -> cadena original sText (segundo parámetro) -> subcadena que quieres sustituir sNewText (tercer parámetro) -> texto que sustituirá a la cadena sText Un ejemplo sería (con una tabla ficticia, luego lo adaptas a tu estructura): SELECT TablaA.Campo1, SUSTITUIR(TablaA.Campo2;"Pepe";"Luís") FROM Tabla Ahora, cada vez que en el campo2 de tabla haya "Pepe", la consulta mostrará Luís en su lugar. Espero que te haya ayudado. SUERTE CArLeS!
A partir de la versión 2000 de Access, la función Replace de SQL tiene su homónimo en Access, con las mismas características. Si utilizas versiones anteriores, puedes utilizar una consulta de actualización, para actualizar un campo por un valor nuevo, y en los criterios de selección indicar el valor antiguo que se desea reemplazar.
Muchas gracias por tu respuesta, pero creo que no me he explicado bien. Lo que realmente necesito es una función que me permita sustituir uno o varios caracteres, por otros caracteres dentro de una cadena. En en Sql de Oracle dicha función se llama replace, pero dentro del Sql que utiliza access no me la reconoce. Utilizo Access2000.
Creo que si entendí tu pregunta desde el principio, lo que no tengo muy seguro, es que en la versión de Access 2000 exista la función Replace, pero en Access XP, que es la versión que yo utilizo, la he localizado y para que veas su método y funcionamiento, la acompaño para que la eches un vistazo. Replace (Función) Descripción Devuelve una cadena en la que se reemplazó una subcadena especificada con otra subcadena un número especificado de veces. Sintaxis Replace(expresión, encontrar, reemplazarCon [, inicio[, contar[, comparar]]]) La sintaxis de la función Replace consta de los siguientes argumentos con nombre: Parte Descripción Expresión Requerido. Una expresión de cadena que contiene la subcadena que reemplazar. Encontrar Requerido. La subcadena que se busca. ReemplazarCon Requerido. La subcadena de sustitución. Inicio Opcional. La posición dentro de la expresión donde se empezará a buscar la subcadena. Si se omite, se supone que es 1. Contar Opcional. El número de sustituciones de subcadenas que se realizarán. Si se omite, el valor predeterminado es -1, que significa que se hagan todas las sustituciones posibles. Comparar Opcional. El valor numérico que indica la clase de comparación que se realizará cuando se evalúen las subcadenas. Vea la sección Valores para consultar los valores posibles. Valores El argumento comparar puede tener los valores siguientes: Constante Valor Descripción VbUseCompareOption -1 Realizar una comparación utilizando el valor de la instrucción Option Compare. VbBinaryCompare 0 Realiza una comparación binaria. VbTextCompare 1 Realizar una comparación basada en el texto. VbDatabaseCompare 2 Sólo para Microsoft Access. Realizar una comparación basada en la información de su base de datos. Valores de retorno La función Replace devuelve los valores siguientes: Si Reemplazar devuelve Expresión es de longitud cero Una cadena de longitud cero (""). expresión es Null Un error. Encontrar es de longitud cero Una copia de expresión. ReemplazarCon es de longitud cero Una copia de expresión con todas las apariciones de encontrar quitadas. Inicio > Len(expresión) Una cadena de longitud cero. Contar es 0 Una copia de expresión. Comentarios El valor de retorno de la función Replace es una cadena con sustituciones hechas que comienza en la posición especificada por inicio y concluye al final de la cadena expresión. No es una copia de la cadena original desde el inicio al final. Esta función se puede utilizar en consultas de Access, en el código VBA, en formularios e informes, etc.
Si entiendo tu pregunta, tu necesitas hacer una actualización de consulta en Access, tu debes usar la consulta de actualización(UPDATE), fíjate el help de access ahí describe la sintaxis, si no es lo que deseas me reescribes más detallado Saludos Mario Orlando florida