Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Copmo grabo un registro a varias tablas (https://www.clubdelphi.com/foros/showthread.php?t=2249)

kia 15-07-2003 20:11:16

Copmo grabo un registro a varias tablas
 
Hola a todos.
Lo primero soy novata en Delphi.
Tengo dos tablas (paradox) y agrego datos a cada una de ellas sin poblemas. Tienen 3 campos (Dbedit.text) no numericos (string).
Quisiera que cuando se efectue 'Post' (grabar) en una de ellas me garbe en la otra el mismo registro.

Campo1 - numero
Campo2 - fecha
Campo3 - Observ
Tablas1 - Coches
Tabla 2- Averias
Ambas idexadas por campo numero.

Lo he intentado pero no me sale. Alguna idea?
Recuerda soy novata.
Gracias. kia;)

jachguate 15-07-2003 20:46:11

Podes utilizar el evento OnPost del primer dataset para insertar en la segunda tabla, algo como:.



Código:

Query1.SQL =  'Insert into tabla2 (campo1, campo2) Values (:Campo1, :Campo2)';

Begin
  if Tabla1.State = dsInsert Then
  Begin
    Tabla2.Insert;
    Tabla2Campo1.Value := Tabla1Campo1.Value;
    Tabla2Campo2.Value := Tabla1Campo2.Value;
    Tabla2.Post;
  End;
End;


kia 18-07-2003 21:24:30

Hola. y GRACIAS
te comunico que ha ido todo muy bien.
Pero no me pasa el campo de fecha... Donde he fallado.

datamodule1.debanumero.Value:=rxDBGrid1.Fields[0].text;
datamodule1.debaequipo.Value:=rxDBGrid1.Fields[1].Text;
datamodule1.debamarca.Value:=rxDBGrid1.Fields[2].text;
datamodule1.debamodelo.Value:=rxDBGrid1.Fields[3].text;
* datamodule1.debafecha_baja.Value:=rxDBGrid1.Fields[4].Text;
* datamodule1.debafecha_alta.Value:=rxDBGrid1.Field[11].text;
datamodule1.debapi.Value:='B';

Se debe hacer alguna conversión si son numeros o fechas..?

Mi agradecimiento por la respuesta. Kia ;)

jachguate 18-07-2003 23:24:50

mejor hace

Tabla1CampoFecha.AsDateTime := Tabla2CampoFecha.AsDateTime;

Así debe funcionar.

Hasta pronto.

;)

__cadetill 18-07-2003 23:58:00

Hola kia, solo añadir una cosa a lo comentado por el amigo jachguate. NO accedas al RxDbGrid para obtener los valores, accede directamente al DataSet asociado a él como indica bien jachguate.

Qué no sabes que tabla es porque pueden ser varias? Pues sin problemas, accedes a él mediante el RxDbGrid de la siguiente manera...

Código:

RxDbGrid1.DataSource.DataSet.FieldByName('Nombre Campo').As....

Espero te sirva


La franja horaria es GMT +2. Ahora son las 13:41:52.

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