Bonjour à tous,
N'ayant pas utilisé Delphi depuis longtemps j'ai un petit problème de mémoire et je ne trouve pas ce que je veux sur Internet.
J'ai un DBComboBox que je rempli de cette manière :
J'ai donc 3 valeurs dans ma DBComboBox qui viennent de mon champ MARXENT. Dans MARXENT ils sont égaux à AE, MA, ou RO et moi j'ai fait afficher dans ma liste leur libellé complet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 procedure TFS42.FormShow(Sender: TObject); var q_modT, q_act : TQuery; begin OFB0505.Caption:=traduit('Déposant')+' '+in_depLib; OFB0506.Caption:=traduit('Magasin')+' '+in_magLib; q_modT:=tquery.create(nil); // + connexion base q_modT.Close; q_modT.SQL.Clear; q_modT.SQL.Add('select distinct MARXENT from ENTXRES where DEPXENT='''+in_dep+''' order by MARXENT'); tryquery(q_modT,'open',''); DBCB_modTrans.Items.Clear; While not q_modT.Eof do begin if q_modT.FieldByName('MARXENT').AsString = 'AE' then DBCB_modTrans.Items.Add('AERIEN') else if q_modT.FieldByName('MARXENT').AsString = 'MA' then DBCB_modTrans.Items.Add('MARITIME') else if q_modT.FieldByName('MARXENT').AsString = 'RO' then DBCB_modTrans.Items.Add('ROUTIER') ; DBCB_modTrans.ItemIndex:=0; q_modT.Next; end;
J'ai un DBGrid associé à un DataSource lui même associé à une requête TQuery.
Je veux qu'en fonction de la sélection dans ma DBCBComboBox cela modifie ma recherche qui affiche le contenu de mon DBGrid.
Voici la requête pensée :
Comment faire pour récupérer ce qui a été sélectionné dans la DBCBComboBox et sur quel évènement ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 q_affich.SQL.Add('select CODXENT as CLIENT, TOUXENT as TOURNEE, decode(MARXENT, ''MA'', ''MARITIME'', ''AE'', ''AERIEN'', ''RO'', ''ROUTE'') '); q_affich.SQl.Add(' TRANSPORT, Count(CDEXENT) as NBCMD'); q_affich.SQL.Add('from ENTXRES, COLXRES where NUMXENT=NUMXCOL'); q_affich.SQL.Add('and DEPXENT='''+in_dep+''' and TCDXENT=''3'' and (refxcol is not null)'); q_affich.SQL.Add('and CODXENT like ''%'+UPPERCASE(e_cCli.Text)+'%'' and TOUXENT like ''%'+UPPERCASE(e_tourn.Text)+'%'''); q_affich.SQL.Add('and MARXENT='''+DBCB_ModTrans.Text+''''); q_affich.SQL.Add('GROUP BY CODXENT, TOUXENT, MARXENT, REFXCOL'); q_affich.SQL.Add('ORDER BY CODXENT');
J'ai mis la propriété Style de la DBCBComboBox à csDropDownList.
Merci d'avance
Partager