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)
-   -   Cómo sincronizar Query y tabla (https://www.clubdelphi.com/foros/showthread.php?t=33590)

David 11-07-2006 19:01:43

Cómo sincronizar Query y tabla
 
Tengo un componente Ttable , que controla el DBGrid a traves de su datasource , por otro lado tengo un query para sacar una consulta , en la que hago un INNER JOIN , para unir dos tablas de la base de datos .

El caso es que si el campo código de Ttable , es uno determinado , quiero que el campo código del Query , que hace referencia al mismo campo de la misma tabla , tenga igual valor .

¿Cómo se hace esto ?

pborges36 13-07-2006 00:54:16

La consulta en el Query debes tener: where campocodigo=:parametro.
en el evento OnDataChange del Datasource debe ir lo siguiente:
Código Delphi [-]
Query.active:=false;
Query.ParamByName('parametro').asstring:=table.Fieldbyname('campocodigo').asstring;
Query.active:=true;

Espero sea eso lo que necesites. Saludos.

Lepe 13-07-2006 11:18:50

También puede hacerse de otra forma:

La Query tiene una propiedad llamada Datasource, elje el Datasource de la Tabla. Así los datos mostrados por la consulta dependen del registro seleccionado en el TTable.

Al query añades un parámetro, pero el nombre de ese parámetros será igual que el campo de la tabla, es decir, suponiendo que quieres la relación por estos campos:

Tabla: CampoCodigo
Query: Codigo

al Query le añades
Código SQL [-]
where codigo = :Campocodigo ORDER BY codigo
La ordenación es imprescindible para obtener los resultados correctos.

CampoCodigo lo interpreta como un parámetro, pero como la consulta tiene asignada su propiedad Query.Datasource irá a buscar ese campo en el TDatasource, o sea, en la tabla; Resultado: relación Master-Detail automático.

Saludos


La franja horaria es GMT +2. Ahora son las 10:17:53.

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