NEO ::: TEAM
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

NEO ::: TEAM

New Evolution Owner
 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -26%
369€ PC Portable HP 15-fd0064nf – ...
Voir le deal
369.99 €

 

 relier des requêtes en maître/détail

Aller en bas 
AuteurMessage
Admin
Fondateur
Fondateur
Admin


Nombre de messages : 197
Age : 40
Localisation : Tlemcen ( Algérie )
Date d'inscription : 04/12/2006

relier des requêtes en maître/détail Empty
MessageSujet: relier des requêtes en maître/détail   relier des requêtes en maître/détail Icon_minitimeMar 13 Fév - 1:50

Prenons l'exemple d'une relation entre les tables CLIENT et FACTURE.

Requête maître (associée à un composant DSClient : TDataSource)
Code:

SQLClient.SQL.Add := 'SELECT cli_no, cli_nom, cli_prenom, cli_telephone, ville';
SQLClient.SQL.Add := 'FROM client';


Requête détail (associée à un composant DSFacture : TDataSource)
Code:

SQLFacture.SQL.Add := 'SELECT cli_no, fac_no, fac_date, fac_montant_ttc';
SQLFacture.SQL.Add := 'FROM facture';
SQLFacture.SQL.Add := 'WHERE cli_no = :cli_no';


Méthode 1 : Propriété DataSource
Selon le jeu de composants que vous utilisez (BDE, IBX ,dbExpress...), vos requêtes disposent ou non d'une propriété DataSource. Dans l'inspecteur d'objets, mettez DSClient dans la propriété DataSource de SQLFacture.

Méthode 2 : Evènement OnAfterScroll
L'évènement OnAfterScroll d'un ensemble de données se déclenche après chaque changement d'enregistrement. L'expression :cli_no présente dans la requête de SQLFacture correspond à un paramètre dynamique de cette requête, nous allons donc devoir lui affecter manuellement ses valeurs.


Code:
procedure TMyForm.SQLClient.AfterScroll(Sender: TDataSet);
begin
  SQLFacture.Close;
  SQLFacture.ParamByName('cli_no').AsInteger := SQLClient.FieldByName('cli_no').AsInteger;
  SQLFacture.Open;
end;
Revenir en haut Aller en bas
https://neo-team.forumactif.com
 
relier des requêtes en maître/détail
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
NEO ::: TEAM :: Informatique :: Base de données & Logiciels de Gestions-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser