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 08-02-2004
lore lore is offline
Miembro
 
Registrado: sep 2003
Posts: 17
Poder: 0
lore Va por buen camino
Unhappy Copiar campo

Hola, saludos a todos , les cuento que quiero pasar el contenido de un campo a otro para que en una grilla me quede algo parecido
Desde Hasta Valor
0 10 1
10 20 2
20 30 3

y el siguiente código es:

Tabla.Active := true;
Tabla.Insert;
if Tabla.RecordCount = 0 then
begin
Tabla.FieldByName('Desde').AsInteger := 0;
Tabla.FieldByName('Hasta').AsInteger := SpinEdit1.Value;
Tabla.FieldByName('Valor').AsCurrency := SpinEdit2.Value;
Tabla.Post
end
else
begin
Tabla.FieldByName('Desde').AsInteger := TablaHasta.AsInteger;
Tabla.FieldByName('Hasta').AsInteger := SpinEdit1.Value;
Tabla.FieldByName('valor').AsCurrency := SpinEdit2.Value;
Tabla.Post;
end;

pero no lo consigo, ah , y si selecciono una fila en la grilla los dos últimos campos volcarlos en las columnas de un listview. Les agradecería enormente ya que estoy trabada con esto y no consigo avanzar.
Responder Con Cita
  #2  
Antiguo 09-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Hola Lore

No entiendo muy bien que es lo que quieres hacer, pero lo del ListVuew puedes hacer algo así

Código:
var 
  v : TListItem;
begin
  // El método ADD del ListView devuelve un objeto de tipo TListItem
  v := ListView1.Items.Add;
  v.Caption := TablaHasta.AsString;
  v.SubItems.Add(TablaValor.AsString);
Suponiendo que tienes el ListView definido con 2 columnas
Responder Con Cita
  #3  
Antiguo 09-02-2004
lore lore is offline
Miembro
 
Registrado: sep 2003
Posts: 17
Poder: 0
lore Va por buen camino
Disculpá, a lo que me refiero es que al ingresar un registro, el segundo campo del registro pase a ser el valor del primer campo del registro que le sigue, o sea que tome una secuencia así: 1°reg.(0,10), 2°reg.(10,20), 3°reg.(20,30)
Responder Con Cita
  #4  
Antiguo 09-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Bueno, entonces antes de añadir el registro has de capturar el valor del registro anterior (por ejemplo en el BeforeInsert del TTable).

Podria quedar algo así:

Código:
var
  ValorAnt : integer;

procedure TMiForm.Table1BeforeInsert(DataSet: TDataSet);
begin
  if Tabla.RecordCount = 0 then
    ValorAnt := 0
  else
    ValorAnt := Table1.FieldByName('Desde').AsInteger;
end;

procedure TMiForm.Button1Click(Sender: TObject);
begin
  Tabla.Active := true;
  Tabla.Insert;
  Tabla.FieldByName('Desde').AsInteger := ValorAnt;
  Tabla.FieldByName('Hasta').AsInteger := SpinEdit1.Value;      
  Tabla.FieldByName('Valor').AsCurrency := SpinEdit2.Value;
  Tabla.Post
end;
Más o menos esa seria la idea
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 10:46: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