Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   ingresar datos en una tabla de otra tabla (https://www.clubdelphi.com/foros/showthread.php?t=2796)

ajum 06-08-2003 22:23:01

ingresar datos en una tabla de otra tabla
 
Hola,

Tengo 2 tablas, tabla1 y tabla2, en tabla1 he registrado varios usuarios con identificacion y nombres del mismo.

Ahora en la tabla2, quiero que en algun campo al digitar la identificacion del usuario registrado en tabla1, automaticamente me aparezca el nombre de ese usuario, osea que no halla que volver a digitar ese nombre en la tabla2.

Gracias,

Saludos,
Ajum.

__cadetill 07-08-2003 00:51:44

utiliza campos calculados

Es decir, en tu TTable, añades los campos persistentes y, luego, crear campos calculados. En el OnClacField del TTable debes informarlos (mediante una consulta SQL o un FindKey o como quieras)

Otra manera es utilizar campos de tipo Loockup

Espero te sirva

ajum 08-08-2003 18:06:43

Hola Cadetill,

De antemano gracias,

Quiero decirte que ya lo he intentado con los campos de tipo Loockup y aun sigo investigando,

Te agradeceria me pudieras explicar como crear campos calculados y un ejemplo de como informarlos en el OnClacField.

Saludos,
Ajum.

__cadetill 09-08-2003 01:47:35

para cómo crear campos calculados te remito a este hilo

http://www.clubdelphi.com/foros/show...&threadid=2819

Y un ejemplo....

yo tengo una tabla de detalle factura en el que guardo Cantidad e Importe. Este Importe, supongamos que es unitario y, quiero saber el Total de esa linea de factura. Pues bien, en lugar de crear un campo físico en la Tabla, creo un campo calculado como explico en el hilo que te comento al cual le llamo Total y, programo el evento OnCalcFields de mi Dataset de la siguiente manera

Código:

  Tabla1.FieldByName('Total').AsFloat :=
        Tabla1.FieldByName('Cantidad').AsFloat *
        Tabla1.FieldByName('Importe').AsFloat

Esto es una operacion sencilla, pero podrias hacer otras cosas como, por ejemplo, la tabla de clientes tiene un campo que es el codigo de la moneda de ese cliente, y queremos saber las descripcion que esta en la tabla monedas. Pues podemos crear un campo calculado que se llame DescripcionMoneda y en el OnCalcFields poner.....

Código:

var
  // miramos la descripcion mediante una Query
  if Tabla1.FieldByName('Id_Moneda').AsInteger <> 0 then begin
    Quer1.SQL.Text := 'select * from Monedas where ID = ' +
              Tabla1.FieldByName('ID_Moneda').AsString;
    Query.Open;
    if not Query.Fields[0].IsNull then
      Tabla1.FieldByName('DescripcionMoneda').AsString :=
                Query.FieldByName('Descripcion').AsString
    else
      Tabla1.FieldByName('DescripcionMoneda').AsString := '';
  end else
    Tabla1.FieldByName('DescripcionMoneda').AsString := '';

Espero que te sirvan los ejemplos

ajum 15-08-2003 17:56:12

Hola cadetill, tus ejemplos fueron de gran ayuda, la demora es porque estuve practicandolos y comprendiendolos por si tenia que hacerte otra pregunta, pero todo me quedo bien claro.

Muchisimas gracias.

Saludos,
Ajum.

ramflores 14-07-2007 19:56:20

campos calculado en runtime
 
como se crean los campos calculados en RunTime ?

Saludos y gracias de antemano


La franja horaria es GMT +2. Ahora son las 06:59:29.

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