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 :

Mettre en relation les contrôles DBLookUpComboBox et DBGrid


Sujet :

Bases de données Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Mettre en relation les contrôles DBLookUpComboBox et DBGrid
    Bonjour à tous !

    J'utilise Delphi 7 et Access 2000.

    Je débute avec l'ADO, et je rencontre un petit problème.
    J'ai sur ma form un DBLookUpComboBox et une DBGrid.

    La connexion à la base de données est établie pour chacun des contrôles, cependant, ils sont indépendants d'un de l'autre.

    J'aimerais que le DBGrid se remplisse en fonction du choix de l'utilisateur dans le DBLookUpComboBox mais je ne sais pas comment les lier.

    Merci de votre aide !
    ~~~~~> Gendarmette <~~~~~
    Computers are not made for me!

  2. #2
    Membre actif Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Points : 252
    Points
    252
    Par défaut
    Salem Gendarmette

    Il faut créer des Champs Référencés. (LookUpFields)
    Bon courage, @ ciao bonsoir!
    --------------
    Mettre le Tag est aussi une aide aux développeurs

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 36
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par Fares BELHAOUAS
    Salem Gendarmette

    Il faut créer des Champs Référencés. (LookUpFields)
    C'est pas ça.


    détaille un peux tes idées.

    a+
    1 = 3 ?

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Le ComboBox pointe sur une table.
    Grâce à une requête, la grille se remplit, elle est constituée de 3 colonnes, la première reprend (en tout cas j'aimerais qu'lle reprenne ) la donnée selectionnée par l'utilisateur dans le ComboBox et les 2 autres colonnes contiennent des données provenant de tables différentes, en fonction du choix effectué dans le Combo.

    Je viens d'aborder le client-serveur en cours, mais nous en sommes restés à la consultation d'une bdd et je ne sais pas comment mettre en relation mes deux contrôles pour que la grille dépende du Combo.
    ~~~~~> Gendarmette <~~~~~
    Computers are not made for me!

  5. #5
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Il faut que tes tables soit en relations.
    A ta feuille ajoute un ADOConnection, deux adoquery et deux datasource.
    Tapes ta requête dans la propriété SQL du AdoQuery1 de telle façon qu'elle contiennent le champs en relation et le champs à afficher.
    Affecte le datasource1 au adoquery1.
    Dans ton DBLookUpComboBox tu mets le datasource1 dans la prop. ListSource, le champ à afficher dans le listfield et le champ clé dans indexfield.
    Dans le adoquery2 tapes la requête de remplissage de la grille en mettant un paramètre égal au champ clé renvoyé.
    affectes datasource1 à sa propriété datasource.
    lies datasource2 avec adoquery2 et ed datasource2 avec ta grille et c'est fini

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    J’ai un ADO de connexion qui pointe sur ma bdd, une ADOTable avec les propriétés suivantes :
    TableName : requête de remplissage de grille
    Connexion : ADO de connexion
    Enfin, une Data Source :
    DataSet : ADOTable

    Pour la DBGrid :
    DataSource : Data Source

    Toutes les données de ma bdd sont inscrites dans la grille.

    Quant à mon DBLookUpComboBox :
    ListSource : Data Source
    List Field : champ à afficher
    KeyField : champ clé

    … et le menu déroulant est parfait (au moins une chose qui fonctionne)

    J’ai essayé d ‘adapter (sans succès ) tes indications à ce que je possède déjà sur ma feuille.
    J’ai dû tout mélanger et je pédale, je pédale, je pédale…

    Quoi qu’il en soit, merci d’avoir pris le temps de me répondre.
    ~~~~~> Gendarmette <~~~~~
    Computers are not made for me!

  7. #7
    Membre actif Avatar de JerryMouse
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 215
    Points : 295
    Points
    295
    Par défaut
    Il faut effectivement créer des Champs Référencés. (LookUpFields)
    Bouton droit sur le composant dataset
    editeur de champ
    Bouton droit, nouveau champ, type String
    , type de champ reference
    définition de la reference
    champs clé = clé etrangère
    dataset = composant dataset lié à la table maitresse
    clés de référence = clé primaire de la table maitresse
    Champ résultat = informations affichées dans le Combo.
    il suffit de glisser ce champ sur la fenetre pour voir le resultat
    ou de lier le dataset à une dbgrid pour observer le resultat à l'execution.
    Très souvent, le plus difficile est de savoir ce que l'on veut.

  8. #8
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Ok, ça fonctionne.
    Merci à tous!
    ~~~~~> Gendarmette <~~~~~
    Computers are not made for me!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/04/2010, 23h48
  2. [FBDataset] quoi mettre pour sauvegarder les données du DBGrid
    Par Boublou dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 09/06/2007, 18h34
  3. Réponses: 2
    Dernier message: 01/06/2005, 12h13
  4. DBLookupComboBox dans DBGrid
    Par KThrax dans le forum Bases de données
    Réponses: 7
    Dernier message: 24/08/2004, 15h18
  5. Mettre a jour les Parametres dans une requete SQL
    Par Tartar Ukid dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/03/2004, 13h51

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