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

Bases de données Delphi Discussion :

lien entre deux dbcombobox


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 14
    Points : 6
    Points
    6
    Par défaut lien entre deux dbcombobox
    bonjour

    J'ai deux dbcombobox reliés à une table. Le problème: je n'arrive pas à filtrer le deuxième dbcombobox car le premier se remplie du champ département et le deuxième du client.
    Ce que je veux c'est filtrer le deuxième en fonction du premier en sélectionnant dans le premier le département et le deuxième affichant uniquement les clients qui résident dans le département sélectionné.

    Merci de votre aide.

  2. #2
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Citation Envoyé par meziane00 Voir le message
    bonjour

    J'ai deux dbcombobox reliés à une table. Le problème: je n'arrive pas à filtrer le deuxième dbcombobox car le premier se remplie du champ département et le deuxième du client.
    Ce que je veux c'est filtrer le deuxième en fonction du premier en sélectionnant dans le premier le département et le deuxième affichant uniquement les clients qui résident dans le département sélectionné.

    Merci de votre aide.
    Bonjour,

    Pour commencer, franchement à la première lecture de ton poste j'ai rien compris !!! Utilise des ponctuations s'il te plait...

    A la deuxième lecture, il nous manques quelques infos importantes :

    - Quel type de base de donnée?
    - Quel type de source ? Table ? Query ?

    Ensuite si c'est une Table, tu peux utiliser le Filter := xxxx, si c'est un Query, il faut jouer avec la clause Where...


  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par BuzzLeclaire Voir le message
    Bonjour,

    Pour commencer, franchement à la première lecture de ton poste j'ai rien compris !!! Utilise des ponctuations s'il te plait...

    A la deuxième lecture, il nous manques quelques infos importantes :

    - Quel type de base de donnée?
    - Quel type de source ? Table ? Query ?

    Ensuite si c'est une Table, tu peux utiliser le Filter := xxxx, si c'est un Query, il faut jouer avec la clause Where...

    merci beaucoup pour votre répance et d'avoir corrigé mon texte . Ma base de donnée est de type paradox et ma source est table

  4. #4
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    Il faut utiliser 2 tables (ou Tquery). Une pour chaque DBCombo.
    Dés que ton dbcombo du département change (evnmt OnCloseUp), tu places un filtre sur la deuxième table qui ne contiendra, alors, que les clients du département.

    Façon maitre-détail. Tu peux, aussi, utiliser un TQuery qui récupèrera, seulement, les clients du département sélectionné.

  5. #5
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Bon, au vue de ta demande par MP je vais de donner un exemple avec 2 DBLookupComboBox (a toi de voir pour tes DBCombobox)

    Necessaires :
    1 ADOConnection
    2 ADOTables qui seront lié à la ADOConnection
    2 DataSources qui seront lié à chaque ADOTable
    2 DBLookupCombobox qui seront lié dans la propriété listsource à chaque DataSources.

    Je pars par exemple d'une table Client avec (Code, Nom) et un table Devis avec (Code, CodeClient, MontantHT),... la je fais super simple.
    Le but récupérer les codes de la table devis selon le code de la table client, textuellement liste des numéro de devis pour un client...

    Nomme tes ADOTables comme ceci : ADOTblDevis et ADOTblClient (t'es pas obligé mais tu comprendras mieux la suite)
    Nomme tes DataSources : DataSourceDevis, DataSourceClient

    Dans le DBLookupComboBox1 (pour la table client), propriété listSouce lié à Source des clients (soit DataSourcesClients), dans la propriété KeyField tu choisi Code.

    Dans le DBLookupComboBox2 (pour la table Devis), propriété listSouce lié à Source des Devis (soit DataSourcesDevis), dans la propriété KeyField tu choisi Code également. (quand je dis tu choisi c'est que normalement tu as accès à la liste des champs de la table si ta connection est établie pendant la conception, au pire tu peux faire cette affectation dans ton unité)

    Ensuite dans l'évenement CloseUp de ton DBLookupCombobox1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.DBLookupComboBox1CloseUp(Sender: TObject);
    begin
      ADOTblDevis.Filtered := false;
      ADOTblDevis.Filter := 'CodeClient ='+QuotedStr(TDBLookupComboBox(Sender).Text);
      ADOTblDevis.Filtered := true;
    end
    J'espere que ce petit exemple t'aidera a avancer.

    Bye.

    PS : C'est pas moi qui est corrigé ton text, c'est notre denrée...euh... Claudius. J'avais même pas vue

Discussions similaires

  1. [MySQL] Lien entre deux tables
    Par ept35 dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 14/12/2005, 20h42
  2. [MySQL] Lien entre deux tables
    Par ept35 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 28/11/2005, 14h56
  3. lien entre deux sous formulaire :(
    Par souska dans le forum Access
    Réponses: 4
    Dernier message: 20/09/2005, 22h37
  4. Type de lien entre deux associations
    Par thibal dans le forum PowerAMC
    Réponses: 2
    Dernier message: 17/06/2005, 17h53
  5. [VB.NET] ComboBox lien entre deux tables
    Par VDB1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/07/2004, 13h15

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