IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

comment relier combobox et listbox en delphi


Sujet :

Delphi

  1. #1
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2011
    Messages : 20
    Par défaut comment relier combobox et listbox en delphi
    Bonjour a tous je suis debutant
    mon probleme est que je n'ai pas pus relier un combobox avec une listbox pour que lorsque je change un item du combobox la listebox affiche les donnes corespond a cet item

    par exemple

    j'ai une base de donnee qui contient 2 tables
    1table s'appele categuories et contient id,categuorie
    2table s'appele listeproduit et contient ref,libproduit,idcateguorie
    je veus remplir le combobox par la table categuorie et lorsque je selectionne un item du combobox la listebox affiche les details du listproduit
    merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Par défaut
    Bonjour,
    Il me semble que la liaison se fera nécessairement aux niveau des composant base de données que vous utilisez. Il faudra très certainement définir une relation maitre-détail entre les deux composants basée sur le champ idcatégorie.

  3. #3
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 206
    Par défaut
    change la table1 par votre table catégorie

    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
     
     
    procedure TForm1.combobox1Change(Sender: TObject);
    var s : String;
    begin
        if combobox1.ItemIndex > -1 then begin
         listbox1.Items.Clear; 
         S := combobox1.Items[combobox1.ItemIndex]; 
         with Table1,listbox1.Items do begin
           if not(active) then open;
           first;
           while not(eof) do begin
             Add(FieldByName(S).AsString + #9+ Fields[0].AsString);
             next;
           end;
         end;
         listbox1.ItemIndex := 0;
     
        end;
    end;

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 102
    Par défaut
    Quelle Lib ? BDE ? ADO ? DBExpress ?
    Quelle DB ? Paradox ? ACCESS ? MySQL ?

    Si tu utilises une DB, pense que tu peux utiliser un TDBListBox relié à une TQuery avec un SQL paramètré dont la valeur est fournie par Combo.Text


    Avec TTable sur Paradox, un Filter\Filtered peut aussi être très pratique !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2011
    Messages : 20
    Par défaut
    Citation Envoyé par MIWAN Voir le message
    change la table1 par votre table catégorie

    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
     
     
    procedure TForm1.combobox1Change(Sender: TObject);
    var s : String;
    begin
        if combobox1.ItemIndex > -1 then begin
         listbox1.Items.Clear; 
         S := combobox1.Items[combobox1.ItemIndex]; 
         with Table1,listbox1.Items do begin
           if not(active) then open;
           first;
           while not(eof) do begin
             Add(FieldByName(S).AsString + #9+ Fields[0].AsString);
             next;
           end;
         end;
         listbox1.ItemIndex := 0;
     
        end;
    end;


    merci bien mon ami j'utilise db access et j'ai fait une relation master detail je suis reussi a remplir le combobox avec un query par ce code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     DM.Query2.Close;
     
     DM.Query2.Open;
    DM.Query2.First;
     
      while not DM.Query2.Eof do
      begin
        ComboBox1.Items.Add(DM.Query2.FieldByName('categuorie').AsString);
        DM.Query2.Next;
      end;
     
    end;

    mais lorsque je click sur un item du combobox malgres que j'ai mis le code suivant dans l'evenement onchange du combobox



    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
    procedure TForm1.ComboBox1Change(Sender: TObject);
    var s : String;
    begin
        if combobox1.ItemIndex > -1 then begin
         listbox1.Items.Clear;
         S := combobox1.Items[combobox1.ItemIndex];
         with DM.table1,listbox1.Items do begin
           if not(active) then open;
           first;
           while not(eof) do begin
             Add(FieldByName(S).AsString + #9+ Fields[0].AsString);
             next;
           end;
         end;
         listbox1.ItemIndex := 0;
     
        end;
    end;

    rien ne ce passe, malgres que table1 est relieé a mon 2 table produit
    aider moi stp et merci une 2 fois

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Par défaut
    Je pense que tu te fatigues pour rien.
    Essaye un peu d'utiliser les composants DBLookupCombobox et DBlookUplistBox.
    Reliés sur des composants d'accès aux bases de données correctement configurés en Maitre6détail tu ne devrais pas avoir à gérer toutes ces listes. Le lien entre les deux devrait se faire automatiquement.

    Ensuite je pense qu'il faudrait si tu veux déboguer ton code mettre un point d'arrêt dans la méthode ComboBox1Change et suivre ce que fait ton programme lorsqu'il s’exécute.
    Bon courage

  7. #7
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 102
    Par défaut


    @misquinetata, as-tu lu le code MIWAN, es-tu sûr qu'il te convient, il utilise le contenu de la ComboBox comme nom de champ d'un autre Query !
    C'est assez douteux comme méthode !
    Si tu copies le code sans le comprendre, cela ne sert pas à grand chose et ne nous encourage pas à t'aider !
    Espérons que c'était une mauvaise passe temporaire !

    Pense à la documentation en Ligne du TTable et TQuery, je te conseil de t'y plonger sérieusement !

    Attention pour le Maitre-Détail, dans le cas présent, il n'est pas le bon choix puisque la ComboBox n'est pas associé à un DataSource mais sert plutôt comme assistant de recherche !

    Il manque effectivement dans la VCL un TComboBox avec juste un ListSource mais sans DataSource
    Le TDBLookupCombobox utilise DEUX Query différentes, il n'est pas applicable dans ce cas (sauf avec une bidouille avec un CDS bidon)

    @misquinetata, remplace ton TListBox par un TDBListBox connecté sur un TTable contenant l'ensemble de listeproduit
    D'ailleurs, évite de laisser ComboBox1, ListBox1, Table1, Query2 essaye des noms plus utilise comms ComboBoxSelectCategorie, ListBoxListeProduit, TableProduits, TableCategories, QueryCategories ...
    Pour mon exemple, ListBoxListeProduit remplace listbox1, c'est un TDBListBox

    le SELECT dans Query2 doit fournir id et categuorie de la table categuories

    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
     
    procedure TForm1.ComboBox1Change(Sender: TObject);
    var
      s : String;
    begin
      if combobox1.ItemIndex > -1 then
      begin
        if DM.Query2.Locate('categuorie', combobox1.Items[combobox1.ItemIndex], []) then
        begin
     
          ListBoxListeProduit.DataSource.DataSet.Filtered := False;
          ListBoxListeProduit.DataSource.DataSet.Filter := 'idcateguorie = ' + DM.Query2.FieldByName('id').AsString;
          ListBoxListeProduit.DataSource.DataSet.Filtered := True;
        end;
      end;
    end;
    On pourrait stocker ID dans Objects[] de la Combo, cela éviterait le locate !
    Sinon, il faudrait utiliser une requête à la place d'un TTable et faire une jointure !


    Pour en revenir au Maître-Détail, en utilisant deux TDBListBox, c'est une solution totalement différente, celle à laquelle pensait MickSou qui est impossible avec un TCombobox.
    la première TDBListBox est connectée sur la table Categories, la seconde sur Produits
    Ensuite, en mettant Categories comme MasterSource de Produits, ID comme MasterField, enfin dans IndexFieldNames, tu mets idcateguorie

    A lire impérativement : Comment faire de la table la partie détail d'un autre ensemble de données

    Tout peut se faire via l'IDE et même l'Expert de Fiche DB si ça existe dans ta version
    A toi de voir si tu veux le faire en code !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  8. #8
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 206
    Par défaut
    ce ci est un petit exemple j'espère qu'il vous aiderez

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
     
    {---
     
     j'ai rajouté une 3éme table pour pouvoir bien voir le filtre
     
      PS: on ne peut pas faire un filtre sur une table detail
    ---}
     
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ExtCtrls, DBCtrls;
     
    type
      TForm1 = class(TForm)
        ComboBox1: TComboBox;
        ListBox1: TListBox;
        ADOConnection1: TADOConnection;
        ADOTable1: TADOTable;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        DBGrid2: TDBGrid;
        ADOTable2: TADOTable;
        DataSource2: TDataSource;
        ADOTable1ID: TIntegerField;
        ADOTable1categuorie: TWideStringField;
        ADOTable2idcateguorie: TIntegerField;
        ADOTable2Ref: TIntegerField;
        ADOTable2libproduit: TWideStringField;
        ADOTable3: TADOTable;
        ADOTable3idcateguorie: TIntegerField;
        ADOTable3Ref: TIntegerField;
        ADOTable3libproduit: TWideStringField;
        DBNavigator1: TDBNavigator;
        procedure FormCreate(Sender: TObject);
        procedure ComboBox1Change(Sender: TObject);
        procedure FormShow(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.ComboBox1Change(Sender: TObject);
     
    begin
    if combobox1.ItemIndex > -1 then
      begin
        if ADOTable1.Locate('categuorie', combobox1.Items[combobox1.ItemIndex], []) then
        begin
     
          ADOTable3.Filtered := False;
          ADOTable3.Filter := 'idcateguorie = ' + ADOTable1.FieldByName('id').AsString;
          ADOTable3.Filtered := True;
     
     
     
    //********** on alimente le ListBox1 par le champ Litproduit
     
    ListBox1.Clear;
    with ADOTable3 do
     begin
       First;
       While Not EOF do
       begin
        ListBox1.Items.Add(ADOTable3Libproduit.value);
        Next;
       end;
     
     end;
        end;
      end;
     
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    ADOTable1.Open;
    ADOTable2.Open;
     ADOTable3.Open;
    end;
     
    procedure TForm1.FormShow(Sender: TObject);
    begin
     
     
     //************** on alimente le comboBox1 par le champ Catégorie
    ComboBox1.Clear;
    with ADOTable1 do
     begin
       First;
       While Not EOF do
       begin
        ComboBox1.Items.Add(ADOTable1Categuorie.value);
        Next;
       end;
     end;
     ComboBox1.ItemIndex := -1;
    end;
     
    end.
    1-merci et pardon au modérateur de la mise en page du code .
    2-pièce jointe de l'exemple.
    Fichiers attachés Fichiers attachés

  9. #9
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 206
    Par défaut
    bon quelques ajouts :

    tu ajoute une 2éme Fiche = Form2
    et tu pose :
    ADOConnection1
    ADOTable1 ----> Listproduit
    DatSource
    DBGrid1

    retour a la Fiche1

    procedure TForm1.ListBox1Click(Sender: TObject);

    begin
    Form2.ADOTable1.Open;
    Form2.ADOTable1.Filtered := False;
    Form2.ADOTable1.Filter := 'libproduit = ''' +ListBox1.Items[ListBox1.ItemIndex] +'''';
    Form2.ADOTable1.Filtered := True;

    Form2.Show;

    end;

  10. #10
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2011
    Messages : 20
    Par défaut
    Citation Envoyé par MIWAN Voir le message
    ce ci est un petit exemple j'espère qu'il vous aiderez



    1-merci et pardon au modérateur de la mise en page du code .
    2-pièce jointe de l'exemple.
    merci et merci 1000 fois c'est tres bonne explication , ca marche tres bien
    comme je suis debutant et amateur car je suis retaité et je passe le temp je vais bien etudier ce code et merci une autre fois

  11. #11
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2011
    Messages : 20
    Par défaut
    Citation Envoyé par MIWAN Voir le message
    bon quelques ajouts :

    tu ajoute une 2éme Fiche = Form2
    et tu pose :
    ADOConnection1
    ADOTable1 ----> Listproduit
    DatSource
    DBGrid1

    retour a la Fiche1
    Bonne journeé voila monsieur MIWAN j'ai modifier un peu le code que vous m'avait envoyer et j'ai fait un petit programme j'aimerai que tu me le corrige et merci d'avance
    Fichiers attachés Fichiers attachés

  12. #12
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 102
    Par défaut

    @MIWAN, tu confonds [ CODE] et [ QUOTE] !

    @misquinetata, inutile d'utiliser une taille 7, on sait lire !

    Quel est le problème, le code ne fonctionne pas ?
    Message d'Erreur ? Comportement erroné !
    On veut bien te corriger mais faut nous donner des pistes !

    Je n'ai pas lu les sources de MIWAM mais cela semble le développement de ma solution Locate\Filter, un classique !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  13. #13
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2011
    Messages : 20
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message

    @MIWAN, tu confonds [ CODE] et [ QUOTE] !

    @misquinetata, inutile d'utiliser une taille 7, on sait lire !

    Quel est le problème, le code ne fonctionne pas ?
    Message d'Erreur ? Comportement erroné !
    On veut bien te corriger mais faut nous donner des pistes !

    Je n'ai pas lu les sources de MIWAM mais cela semble le développement de ma solution Locate\Filter, un classique !
    merci bien de votre intéressement mais l'exemple que j'ai mis ca marche tres bien juste un test de petit programme pour voir du tele sur pc j'utilise delphi7
    si tu est interessé tu peu m'aider et n'oublier pas que je suis amateur et non pas professionel comme tois merci d'avance

  14. #14
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 102
    Par défaut
    Tu n'es pas obligé de citer la réponse précédent à chaque fois !

    Pourquoi demandes-tu à MIWAN de te corriger ton "petit programme" si cela "ça marche tres bien" ?
    Cela n'a pas de sens !

    Si le couple ListBox\ComboBox fonctionne, clique sur
    Si tu as un autre problème précis qui ne concerne plus le couple ListBox\ComboBox mais bel et bien une autre problématique, ouvre un autre sujet !

    Justement, en tant que professionnel, on participe au forum mais on a un temps limité, il faut donc des questions précises, on a pas le temps de lire un code complet !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  15. #15
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2011
    Messages : 20
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Tu n'es pas obligé de citer la réponse précédent à chaque fois !

    Pourquoi demandes-tu à MIWAN de te corriger ton "petit programme" si cela "ça marche tres bien" ?
    Cela n'a pas de sens !

    Si le couple ListBox\ComboBox fonctionne, clique sur
    Si tu as un autre problème précis qui ne concerne plus le couple ListBox\ComboBox mais bel et bien une autre problématique, ouvre un autre sujet !

    Justement, en tant que professionnel, on participe au forum mais on a un temps limité, il faut donc des questions précises, on a pas le temps de lire un code complet !
    j'ai demander a MIWAN car c'est lui qui m'a aider pour ce code mais je croix que tu te prend comme un mageur qui s'enfou des debutants ,un peux de genorisiter nous ne sommes pas comme tois professionel tu vois les choses banales si tu n'a pas de temps ne me repond pas et une fois merci de tes conseils, permeter mois de passer

  16. #16
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 102
    Par défaut

    Merci pour le Français en version phonétique !
    FireFox inclu une correction automatique, active là pour le Français ou utilise Google Translate !
    C'est pénible de déchiffrer tes propos !

    Sinon, moi aussi, je fus un débutant, j'ai mis plus de 2 ans à écrire un code correct, ça prend du temps !
    Mon maître de stage n'était pas en permanence derrière moi pour corriger mes codes !
    Cela développe l'Autonomie !
    C'est toi qui ne comprend pas les règles du forum

    Je ne te corrige juste l'indentation !
    Autre qualité d'un développeur : la Rigueur !
    Bonus : QuotedStr

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
      if combobox1.ItemIndex > -1 then
      begin
        if ADOTable1.Locate('categuorie', combobox1.Items[combobox1.ItemIndex], []) then
        begin
     
          ADOTable3.Filtered := False;
          ADOTable3.Filter := 'idcateguorie = ' + ADOTable1.FieldByName('id').AsString;
          ADOTable3.Filtered := True;
     
          //********** on alimnte le ListBox1 par le champ Litproduit
     
          ListBox1.Clear;
          with ADOTable3 do
          begin
            First;
            While Not EOF do
            begin
              ListBox1.Items.Add(ADOTable3chaine.value);
              Next;
            end;
          end;
        end;
      end;
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      ADOTable1.Open;
      ADOTable3.Open;
    end;
     
    procedure TForm1.FormShow(Sender: TObject);
    begin
      //************** on alimnte le comboBox1 par le champ Categuorie
      ComboBox1.Clear;
      with ADOTable1 do
      begin
        First;
        While Not EOF do
        begin
          ComboBox1.Items.Add(ADOTable1Categuorie.value);
          Next;
        end;
      end;
      ComboBox1.ItemIndex := -1;
    end;
     
    procedure TForm1.ListBox1Click(Sender: TObject);
    begin
      ADOTable3.Open;
      ADOTable3.Filtered := False;
      ADOTable3.Filter := 'chaine = ' + QuotedStr(ListBox1.Items[ListBox1.ItemIndex]);
      ADOTable3.Filtered := True;
      label2.Caption := ADOTable3chaine.Value ;
      WindowsMediaPlayer1.URL := ADOTable3adress.Value;
    end;
     
    end.

    PS : Je suis un TROLL ! J'ai une réputation à tenir !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  17. #17
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2011
    Messages : 20
    Par défaut
    monsieur le professeur merci pour tes conseils et j’espère que je ne te dérange pas le forum est fait pour les discutions de tous les niveaux je t'ai dis que je suis un retraité et amateur et j'ai du temps a faire et a refaire des petit programmes pour me distraire , a propos si tu veux m'aider vraiment je veux faire un petit programme pour regarder les télés sur mon pc ,il y a plusieurs dans google mais je veux le programmer moi même pour y ajouter les chaines que je veux , et une autre fois merci de ta compréhension

  18. #18
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 206
    Par défaut
    @ ShaiLeTroll
    je savais qu'il y'a des Trolls Sympathiques
    Merci pour le tuyau " Code " .

    @ misquinetata
    finalement je suis fière .

    @ Cl@udius

    Merci beaucoup pour votre intervention

  19. #19
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2011
    Messages : 20
    Par défaut
    Merci pour vous tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment avez-vous appris le langage Delphi ?
    Par NoisetteProd dans le forum Débuter
    Réponses: 368
    Dernier message: 08/05/2019, 23h34
  2. [XL-2003] Comment relier les 2 liste roulantes (Combobox)
    Par violet2410 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/07/2009, 16h40
  3. Comment remplir une ListBox sur Delphi 5
    Par bleuprogrammeur dans le forum Delphi
    Réponses: 3
    Dernier message: 10/06/2007, 21h06
  4. Comment modifier les .pas fournis avec Delphi ?
    Par prgasp77 dans le forum Langage
    Réponses: 2
    Dernier message: 09/02/2005, 15h12
  5. [Réseaux] Comment faire un Net Use en Delphi ?
    Par Spart64 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 28/04/2004, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo