Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   !No puedo utilizar la funcion REPLACE para una base de Access! (https://www.clubdelphi.com/foros/showthread.php?t=33155)

Adrian Angeles 28-06-2006 19:30:42

!No puedo utilizar la funcion REPLACE para una base de Access!
 
Hola.

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.

FNADALO 29-06-2006 08:58:50

A mi entender deberias utilizar un Update y no un replace,
por que? utilizas ado Dataset?? yo utilizo AdoQuery pensando
en aplicativos Cliente/Servidor.

Adrian Angeles 30-06-2006 22:41:14

Disculpa que te conteste hasta ahora.
Si, lo que pasa que el REPLACE lo voy a utilizar para modificar el contenido de un campo , una vez realizada esta modificacion actualizare el registro cuyo valor haya cambiado.
Estuve investigando y la funcion REPLACE no es soportada por el motor de base de datos MS Jet 4.0, que utilizo en Delphi, es por ello que me sale el error antes mencionado.
La aplicacion es muy sencilla por lo que utilizo los componentes adoconnection, adodataset y adodatasource (que me podria ahorrar el adoconnection ya que el componente adodataset tiene su propiedad connection string), ademas de que adodataset me permite ejecutar consultas almacenadas en la base de datos de access con su propiedad command text. .
Ahora me estoy peleando con la funcion que reemplace dicho campo, utilizando funciones que sean aceptadas por el MS Jet.


La franja horaria es GMT +2. Ahora son las 22:16:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi