Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   como pooner 0 en la izquierda (https://www.clubdelphi.com/foros/showthread.php?t=2537)

Michel 28-07-2003 16:48:12

como pooner 0 en la izquierda
 
Una pregunta amigos foreros como hagoo

tengo una Tabla XX con 3 Campos Ejemplo:

Codigo LEN 2
Descripcion LEN 20
Abreviatura LEN 10


yo quisiera q el campo codigo asignara 0 a la izquiera ejemplo si coloco '1' en codigo grabe como '01'

oseaa..

Yo cargo asi

Codigo 1
Descripcion Esto es una Prueba
Abreviatura Prueba

La BD Guarde Asii



Codigo 01
Descripcion Esto es una prueba
Abreviatura Prueba


Estoy Usando EMS Interbase/Firebird 3.6.0.2


Muchas Gracias........... Suerte

__cadetill 28-07-2003 18:19:09

Puedes utilizar el evento BeforePost y alli hacer algo asi

Código:

var
  valor : integer;
begin
  valor := TuTabla.FieldByName('Codigo').AsInteger;
  TuTabla.FieldByName('Codigo').AsString := FormatFloat('00', Valor);
end;

Espero te sirva

__cadetill 28-07-2003 18:21:46

Por cierto, otra cosa

Cita:

Posteado originalmente por Michel
Estoy Usando EMS Interbase/Firebird 3.6.0.2
De Interbase van por la version 7 o 7.1 (no recuerdo exactamente) y de Firebird por la 1.0.3 y en RC4 la 1.5 :confused:

Michel 28-07-2003 20:57:21

Estoy Usando

EMS InterBase & FireBird Manager 3

El manejador de BD

__cadetill 28-07-2003 21:05:09

Ah, ok, no lo conocia y interprete mal la frase :o

Por cierto, que tal es?

Michel 28-07-2003 21:11:13

Me parece un gran producto, consistente y rapido.


Lo que estoy tratando de hacer es q la Base de Datos se Encargue casi d todoo


Los ceros a la izquierda del campo codigo.

No he podido hacerlo desde el manejador de BD.

pero no se como, si Tienes Alguna Sugerencia te lo Agradezco


Gracias.....

Osorio 29-07-2003 16:09:09

Para hacerlo desde la base de datos sin implicar a delphi para nada puedes hacerlo a traves de un trigger.

Te envio un ejemplo:

CREATE TRIGGER "RELLENA_CON_CERO" FOR TBL_LIBROS ACTIVE
BEFORE INSERT POSITION 0
AS
declare variable num integer;
BEGIN
num =2-strlen(new.id_libro);
new. id_libro = substr('00',1,num)||new.id_libro;
END

Ahh, por cierto: las funciones "strlen" y "substr" son UDFS que tienes que instalar previamente.

En la seccion de Interbase de la pagina del clubdelphi encuentras un articulo que te puede explicar las UDF's muchoi mejor que yo.

Espero te sea util.

Suerte


La franja horaria es GMT +2. Ahora son las 01:10:25.

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