Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2008
Avatar de judit25
judit25 judit25 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Bronx, NY
Posts: 122
Poder: 19
judit25 Va por buen camino
Question Reemplazar caracterer en sentencia SQl

Buenos Dias

Estoy trabajando con delphi 7, Access 2003 y ODBC.

Tengo un campo en la tabla que puede tener "/", "x", "X", ".", "-", y numeros.

Tengo un query en e cual hago referencia a esa tabla y quiero copiar ese campo en otro sin ninguno de esos caracteres o sea que solo me quedaria con numeros.

Directamente desde Access utilice el comando Replace(nombre_campo, "/", "") as campo2. Pero cuando intento agregar este nuevo campo en el Field editor de la tabla en Access me sale el siguiente error Invalid Table Name.

Entonces quite esa sentencia del query, y estoy intentando crearlo desde delphi en el Query en el SQL string y en el Query1.SQL.Add(''), pero no me reconoce ni el Replace, ni el StringReplace, ni el AnsiReplaceStr.

Existe alguna funcion que pueda utilizar para realizar lo que quiero?
Gracias anticipadas

Saludos
__________________
El hombre feliz no es el hombre que rie, sino aquel cuya alma llena de alegría y confianza se sobrepone y es superior a los acontecimientos.
Séneca
Responder Con Cita
  #2  
Antiguo 02-06-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Hola

Creo que debes trabajarlo de la sgte manera:

- conectar a base de datos
- pasar los datos a unos campos temporales creados en el delphi
- eliminar los caracteres que no deseas..
- insertar o traspasar a otra base o tabla

Yo utilizo el AnsiReplaceStr.. y me ha ido bien, aunque no lo estoy usando desde una sentencia SQL..

Código Delphi [-]
 
AnsiReplaceStr('Eliminar todos los . puntos,'.','');

Salu2
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 02-06-2008
Avatar de judit25
judit25 judit25 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Bronx, NY
Posts: 122
Poder: 19
judit25 Va por buen camino
Cita:
Empezado por BlueSteel Ver Mensaje
Hola

Creo que debes trabajarlo de la sgte manera:

- conectar a base de datos
- pasar los datos a unos campos temporales creados en el delphi
- eliminar los caracteres que no deseas..
- insertar o traspasar a otra base o tabla

Yo utilizo el AnsiReplaceStr.. y me ha ido bien, aunque no lo estoy usando desde una sentencia SQL..

Código Delphi [-]
AnsiReplaceStr('Eliminar todos los . puntos,'.','');


Salu2

Gracias por la respuesta, pero el problema es que utilizo lo de Query1.SQL.Ad('') por que necesito filtrar ese query luego cuando escriban algo en un edit, por eso lo necesito en la sentencia.

Gracias
__________________
El hombre feliz no es el hombre que rie, sino aquel cuya alma llena de alegría y confianza se sobrepone y es superior a los acontecimientos.
Séneca
Responder Con Cita
  #4  
Antiguo 03-06-2008
Wiarbumu Wiarbumu is offline
Miembro
 
Registrado: ene 2008
Posts: 15
Poder: 0
Wiarbumu Va por buen camino
si te explicas un poquito mas, de pronto podriamos ayudarte, poque la verdad no me queda claro que eslo que quieres hacer, ilustranos con un ejemplo mas claro y muy seguramante te ayudaremos a resolver tu problema.

Por ejemplo cuando hablas que no te reconece ciertas funciones no se a que te refieres, pero creo que podría ser que no agregaste la Unit StrUtils.

Saludos
Responder Con Cita
  #5  
Antiguo 04-06-2008
Avatar de judit25
judit25 judit25 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Bronx, NY
Posts: 122
Poder: 19
judit25 Va por buen camino
Cita:
Empezado por Wiarbumu Ver Mensaje
si te explicas un poquito mas, de pronto podriamos ayudarte, poque la verdad no me queda claro que eslo que quieres hacer, ilustranos con un ejemplo mas claro y muy seguramante te ayudaremos a resolver tu problema.

Por ejemplo cuando hablas que no te reconece ciertas funciones no se a que te refieres, pero creo que podría ser que no agregaste la Unit StrUtils.

Saludos
Hola,

Deja ver si me explico mejor:

Tengo una tabla en Access que contiene un campo llamado Size, en el se guardan los sizes de la siguiente manera:
123/45/98 o 000/00/00 (este ultimo es para los sizes que son de diferente formato que el anterior). Para saber el size en el segundo caso cree un query donde tomo el primer size y lo pongo en otro campo en el query y aqui cuando es 000/00/00 tomo el size de la descripcion del producto. O sea que en el query me quedaria Size (size original), Size2 (donde esta el original y en el caso de que sea 000/00/00 el que esta en la descripcion).

En delphi tengo una consulta donde puedo buscar por ese size (Size2), pero lo que necesito es que cuando digiten el size en el Edit no tengan que digitarlo con los "/" o en el otro caso con ("X", "-", ".") sino simplemente "1234598".

Aqui dejo la sentencia SQL que estoy usando en Delphi

Código Delphi [-]
Query1.SQL.Add('SELECT *, Mid(QGomas.[Size],8,2) as Tam, InStr(QGomas.[Descripcion], ' + ' ' + ') AS posicion, ');
Query1.SQL.Add(' Mid(QGomas.[Descripcion],QGomas.[posicion]+2,15) AS parte1, InStr(QGomas.[parte1], ' + ' ' + ') AS posi2, Mid(Qgomas.[parte1],1,QGomas.[posi2]-1) AS parte2, IIf((QGomas.[Size]= ' + quotedStr('000/00/00') + '),QGomas.[parte2],QGomas.[Size]) AS Size2,');
Query1.SQL.Add(' Replace(Size2,' + '/' + ',' +'' + ') AS Size3 FROM QGomas');

Gracias

Saludos
__________________
El hombre feliz no es el hombre que rie, sino aquel cuya alma llena de alegría y confianza se sobrepone y es superior a los acontecimientos.
Séneca
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Reemplazar caracteres Ubed Varios 1 11-01-2008 18:45:48
Reemplazar texto en un .dfm elcigarra OOP 9 19-12-2007 08:47:17
Reemplazar Archivos en Uso eduarcol Noticias 2 15-06-2004 11:58:06
Buscar y reemplazar sur-se Servers 2 16-04-2004 18:36:16
reemplazar un EXE que está en uso carlosmari Varios 15 04-12-2003 17:55:39


La franja horaria es GMT +2. Ahora son las 13:08:21.


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
Copyright 1996-2007 Club Delphi