Bonsoir PhiliPPe !
. En ce qui concerne la relation maître-détail il existe une solution trés simple et trés efficace : Tu dois exécuter un "filtre" de la table "détail" lors de l'évènement AfterScroll de la table "maître".
Je m'explique ...
Supposons que tu as une table contenant la liste des CLIENTS et une table de COMMANDES. Chaque client peut en effet passer plusieurs commandes et tu voudrais afficher pour chaque CLIENT la liste de SES COMMANDES UNIQUEMENT.
Tu procèdes comme suit
----------------------------------------------------------------------------
procedure TForm1.Table_des_clientsAfterScroll(DataSet: TDataSet);
begin
Table_des_commandes.filter = 'code_client = '''+Table_des_clients.FieldByName('code_client').AsString+''' ';
Table_des_commandes.filtered := True;
end;
----------------------------------------------------------------------------
. Quand à des deux autres problème, je suggère que tu utilise le composant TDBGRID à la place de TVIEWLIST, car non seulement TDBGRID affichera une liste de ce que tu veux, mais il permet à l'utilisateur de changer l'ordre des colonnes et il est relié à une table de BDD, un simple table.refresh est une notification qui permet au DGGRID d'afficher les dernières mises à jours de la table. En plus si tu vas dans la propriété OPTIONS de DBGRID, tu pourras changer l'apparence de ton DBGRID (il pourra ressembler à un TLISTVIEW).
Voilà, j'espère que j'ai répondu à tes questions, sinon tu me fais signe. Je sais que c'était prévu que je te réponde hier, mais j'étais crevée et y avait des coupures d'élèctricité répétées qui m'ont découragée :o)))))))
Bonne journée à tous
</alicia_3107>