Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-03-2004
Avatar de Triton
Triton Triton is offline
Miembro
 
Registrado: nov 2003
Ubicación: Murcia
Posts: 37
Poder: 0
Triton Va por buen camino
Quitar caracter de una cadena

Hola amigos, tengo un contratiempo y es que tengo un campo (NIF) en una tabla de mi aplicación, la cual un cliente mío la a rellenado con el carácter "-". Por ejemplo: B-30458799.

Me gustaría saber si existe alguna función en Interbase 5.6 que me ayude a quitar el carácter "-" y dejarlo así: B30458799.

Desde ya, gracias
__________________
La ignorancia es la felicidad
Responder Con Cita
  #2  
Antiguo 23-03-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
La verdad ahora mismo no recuerdo si existen una UDF en interbase para hacer lo que pides, pero si es urgente con código Delphi recorres la tabla y lo arreglas:
Código:
procedure TForm1.Button1Click(Sender: TObject);
Var
s:String;
begin
s:=Edit1.text;
Delete(s, Pos('-',edit1.text),1);
edit1.Text:=s;
end;
Este ejemplo adaptándolo a tu base de datos lo arreglaría, haces un bucle que recorra la tabla y cambias edit1.text por el nombre del campo a modificar.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 23-03-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
otra opción es usar el SUBSTRING y la concatenación de strings

Código:
select substring(NIF from 1 for 1) || substring(NIF from 3 for 8)
from clientes
Responder Con Cita
  #4  
Antiguo 23-03-2004
Avatar de Triton
Triton Triton is offline
Miembro
 
Registrado: nov 2003
Ubicación: Murcia
Posts: 37
Poder: 0
Triton Va por buen camino
Gracias

Al final opté por la siguiente opción:

Código:
with Clientes do
  begin
    First;
    while not Eof do
    begin
      Clientes.Edit;
      aux:=ClientesNIF.Value;
      aux1:=StringReplace(aux,'-','',[rfReplaceAll]);
      ClientesNIF.Value:=aux1;
      Post;
      Next;
    end;
  end;
De todos modos gracias, la opción de Substring no me sirve porque en InterBase 5.6 no existe. Además hay nifs que van así también "789542136-A".

Lo dicho, muchas gracias
__________________
La ignorancia es la felicidad
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


La franja horaria es GMT +2. Ahora son las 23:50:07.


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