Leader2000
Messages postés187Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015
-
12 avril 2013 à 10:26
Leader2000
Messages postés187Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015
-
15 avril 2013 à 12:55
Salut!
J'ai deux combobox (cbxType et cbxProd). J'ai dans le cbxType trois items que j'ai inseré: lundi, mardi, mercredi. Je voudrai bien que lors d'un clique sur un de ces items que le cbxProd affiche les données dudit item choisi dans cbxType. Mais ça devra venir de la colonne cbxProd de la table Firme.
Voici ce que j'ai fait:
cbxProd.Items.Clear;
case cbxType.ItemIndex of
0: begin
cbxProd.Clear;
Firme.Filter:='Type=' +quotedstr(cbxType.Text);
Firme.Filtered:= true;
cbxProd.Items.Add(FieldByName('prod').asstring;
Leader2000
Messages postés187Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015 12 avril 2013 à 10:56
J'ai essayé ceci mais ça ne marche toujours pas.
cbxProd.Items.Clear;
case cbxType.ItemIndex of
0: begin
cbxProd.Clear;
Firme.Filter:='Type=' +quotedstr(cbxType.Text);
Firme.Filtered:= true;
try
while not Name_set_anex.Eof do
begin
cbxProd.Items.Add(Firme.FieldByName('prod').asstring);
cbxProd.Next;
end;
finally
firme.EnableControls;
solilog
Messages postés273Date d'inscriptionsamedi 13 juin 2009StatutMembreDernière intervention18 avril 201510 12 avril 2013 à 20:52
Bonsoir,
tu devrais essayer qq'chose comme çà:
Chez moi cbxType contient 1, 2, 3, ...
J'ai une table avec les champs RapId, RapLi, Libel
Je charge cbxProd avec le champ Libel filtre sur RapId
Le champ "RapId" est integer chez moi, mais avec tes quotesstr tu devrais t'en sortir.
Dans la procedure click de ton cbxType:
procedure TForm1.cbxTypeClick(Sender: TObject);
var vFilter:string;
begin
cbxProd.clear;
vFilter := 'RapId=' + cbxType.text; // chez toi quotedstr ...
table2.filter := vFilter;
table2.filtered := true;
table2.first;
while not table2.eof do
begin
cbxProd.items.add( table2.fieldbyname('Libl').asstring);
table2.next;
end;
end;
Avec ma table, çà marche. Mais c'est vraiment pas top, il y a bien mieux à faire, commence à utiliser les dbLookupCombobox directement sur le datasource de ta table.
Leader2000
Messages postés187Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015 15 avril 2013 à 12:55
Merci @solilog.
Curieusement, j'ai ces mêmes codes que j'ai mis dans un Tbutton. ça marché quand. Je n'ai pas essayé le tien. Mais en lisant tes codes ça marcherait bien.
Code Delphi :
cbxProd.Items.Clear;
case cbxType.ItemIndex of
0: begin
cbxProd.Clear;
Firme.Filter:='Type=' +quotedstr(cbxType.Text);
Firme.Filtered:= true;
try
while not Name_set_anex.Eof do
begin
cbxProd.Items.Add(Firme.FieldByName('prod').asstring);
cbxProd.Next;
end;
finally
firme.EnableControls;