Pregunta: | 48667 - PROBLEMA CON JET 4.0 DATABASE ENGINE DE DELPHI |
Autor: | Adrian Angeles |
!No puedo utilizar la funcion REPLACE para una base de Access!
Espero me puedan ayudar. Tengo acceso a una base de datos creada en Access mediante ADO,utilizando el MS Jet 4.0,utilizo los componentes Ado conecction, Ado Dataset ,Ado Data source y un dbgrid para mostrar los resultados. Las consultas las escribo en la propiedad commandtext del componente Ado dataset. La consulta que deseo ejecutar reemplaza los numeros 10 y 13 de una cadena por un espacio en blanco,la consulta (de ejemplo) funciona correctamente en Access y es la siguiente: Select Replace('Adrian13','13',' ') pero (A qui viene el error)al utilizar la funcion REPLACE,logicamente ya en la propiedad commandtext del componente ado dataset de Delphi, y trato de visualizar el resultado en el grid, activando el componente datset, aparece un error que dice asi: Error:Undefined function 'REPLACE' in expression. Supongo que el motor de base de datos no reconoce esta funcion o algo asi, quisiera saber como puedo hacerle para que me acepte esta funcion o de lo contrario hayar una equivalencia para realizar este reemplazo. Gracias de antemano. |
Respuesta: | Fernando Gomez |
Efectivamente la palabra REPLACE no la reconoce el Motor de Base de Datos recuerda que para acceder a los componentes ADO las instrucciones son analizadas por la ingenieria del Motor de Borland (BDE), lo que puedes hacer es usar una instrucción SQL más simple o realiza un procedure en Access que haga tu replace con los argumentos variables y solo ejecuta el procedimiento desde Delphi con los parametros. |