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)
-   -   conservar valor de los campos (https://www.clubdelphi.com/foros/showthread.php?t=45316)

ebeltete 28-06-2007 20:14:50

conservar valor de los campos
 
Hola amigos, estoy trabajando con Delphi 5, Firebird 2.0 y los componentes MDO, estoy con una BBDD y quisiera saber como hago para poder poner por defecto los valores de los campos del ultimo registro insertado, al momento de insertar un nuevo registro?
Hay alguna forma con old value y new value? otengo que crear variables globales?, salu2.

jhonny 28-06-2007 20:21:24

Una forma sería guardando dichos valores en un archivo .ini para luego recuperarlos al traer de nuevo la forma.

O También haciendo un SQL que traiga siempre el ultimo registro en la BD para colocarlo por defecto en los respectivos Edits.

marcoszorrilla 28-06-2007 23:04:42

No está de más recordar el Truco 176 de TRUCOMANIA:


A veces es interesante poder añadir un registro y que este aparezca ya 'relleno' con los ultimos datos que se teclearon. Este código funciona en
cualquier tabla (espero) :)


Código Delphi [-]
 
 
procedure TForm1.Button2Click(Sender: TObject);
 
type 
     {Tipos para array dinámico de variants}
     TRecuerda = array[0..0] of variant;
     PRecuerda = ^TRecuerda;
var 
   Recuerda:PRecuerda;
   n:integer;
   Campos:integer;
begin 
   {Reservamos memoria para el array}
   Campos:=Table1.FieldCount;
   GetMem(Recuerda, Campos * SizeOf(variant));
 
   {Vamos al ultimo registro}
   Table1.Last;
   {Recordamos los campos}
   for n:=0 to Table1.FieldCount-1 do 
   begin 
     Recuerda^[n]:=Table1.Fields[n].AsVariant;
   end; 
 
   {Añadimos un registro}
   Table1.Append;
   {Lo rellenamos}
   for n:=0 to Table1.FieldCount-1 do 
   begin 
     Table1.Fields[n].AsVariant:=Recuerda^[n];
   end; 
   {Lo grabamos}
   Table1.Post;
 
   {Liberamos memoria}
   FreeMem(Recuerda, Campos * SizeOf(Variant));
end;


Un Saludo.


La franja horaria es GMT +2. Ahora son las 02:52:19.

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