Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Añadiendo records (https://www.clubdelphi.com/foros/showthread.php?t=63430)

paladincubano 13-02-2009 12:59:35

Añadiendo records
 
Hola.
Tengo 2 tablas. Clientes y revisiones.

Tabla Clientes tiene los campos.
idCliente - Int
Nombre - nvarchar[60]
..
..

Tabla revisiones
idCliente - Int
Fecha - datetime
..
..

Ahora tengo 2 grids.
En el primero se muestran todos los clientes (no se pueden editar) solo seleccionar 1.
En el segundo grid tengo la tabla revisiones. El cual refleja todas las revisiones del cliente seleccionado.

SELECT * FROM Revisiones WHERE idCliente= Clientes.idClientes

Ahora eso funciona bien, cuando selecciono un cliente en el grid de abajo me salen todas las revisiones de ese cliente.
El problema me surge cuando intento agregar una nueva revision al grid.
Cuando hago el post, se me agrega un nuevo record a la tabla revisiones, pero con el idCliente=Null

Alguna solucion?
Gracias

paladincubano 13-02-2009 13:05:57

Creo que encontre la solucion.
Si no es asi por favor corregidme.

Código Delphi [-]
procedure TDM.QRevisionesBeforePost(DataSet: TDataSet);
begin
  Dataset['idCliente']:=DM.QClientes['idCliente'];
end;

duilioisola 13-02-2009 14:01:50

Yo hago esto, pero en el evento OnNewRecord.
Además inicializo lo que sea necesario...
Código Delphi [-]
procedure TDM.QRevisionesNewRecord(DataSet: TDataSet);
begin
  Dataset['idCliente']:=DM.QClientes['idCliente'];
  Dataset['Fecha'].AsDateTime:=Now; {así no la tiene que poner el usuario}  
end;

El evento BeforePost, lo utilizo para hacer verificaciones y según el caso rellenar cosas que hasta el momento no se podía.
Por ejemplo, si es el número de factura, en este evento y "justo antes de hacer el Post" busco el número que le corresponde y se lo asigno. (Si lo hubiera puesto antes, cabe la posibilidad de que alguien haya hecho una factura mientras estaba rellenando los datos)

paladincubano 13-02-2009 14:05:04

Muchas gracias, creo que ese es el correcto.
Ya que el que puse imagino que cada vez que haga un post (tambien cuando edito) me llame al evento cuando ya tenia ese valor, no??


La franja horaria es GMT +2. Ahora son las 00:23:03.

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