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 :

[débutante]Problème combobox et requete sql


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 63
    Par défaut [débutante]Problème combobox et requete sql
    Bonjour,

    J'utilise la version 7 de delphi, et j'ai un petit souci pour afficher le résultat d'une requête sql dans ma ComBoBox.

    Voilà j'ai des contacts qui sont enregistrés dans la base de données et il sont organisés par groupe.
    Par exemple pour le "groupe A"-> J'ai 4 Contacts "toto","test","titi", "youpi"

    Donc l'application affiche la fiche contact, ici "test" avec nom, prenom, etc
    Et je voudrais mettre dans ma ComboBox, la liste des contact appartenant à ce groupe sauf "Test".
    Est-ce possible ?? j'ai essayer avec une requête mais ça ne marche pas.
    Je pense que je ne sais pas trop où et comment mettre ma requête.

    Merci d'avance pour votre aide.

    Lilo

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    Je dirais que ca doit être possible avec une requête !
    Fais voir la requête que tu as essayé de mettre en place.

    @+ Claudius

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 63
    Par défaut
    Bonjour,

    merci de répondre. Voilà ce que j'ai mis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     procedure TForm.DBComboBox1Click(Sender: TObject);
    begin
     
    QueryMain.SQL.Clear;
    QueryMain.SQL.Add('Select NOM, PRENOM from CONTACT where NOM <> NameContact');
    QueryMain.Open;
    end;
    J'ai essayé de mettre la requête dans le sql de le ComboBox mais ça n'a pas marché.
    Et j'ai meme essayé le datafield avec "NOM" mais il affiche que le nom "test" et rien d'autre

    Voilà merci de ton aide.

    Lilo

  4. #4
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Re,

    Citation Envoyé par lilo415
    Et je voudrais mettre dans ma ComboBox, la liste des contact appartenant à ce groupe sauf "Test".
    La notion de groupe est absente de ta requête !

    La requête pourrait être celle-ci:
    SELECT nom, prenom FROM CONTACT
    WHERE groupe = :Groupe and nom <> :NomContact
    ORDER BY nom, Prenom;
    ensuite pour l'appeler tu renseignes tes paramètres:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    with QueryMain do begin
      Close;
      ParamByName('Groupe').Value := 'A'; // le groupe actuel 
      ParamByName('NomContact').Value := 'test'; // ton contact courant
      Open;
    end;
    @+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 63
    Par défaut
    Ok, merci

    je vais testé ... mais ça ne marche pas, j'ai une erreur.

    Logiquement ma reqête est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT CONTACTCLEUNIQ, NOM, PRENOM, CodeUser, GROUPE, NOMSOCIETE 
    FROM VIEWCONTACT
    Mais comme je change de nom ou le groupe sur chque fiche,je ne peux pas déclarer comme ça :
    Cl@udius a écrit:
    ensuite pour l'appeler tu renseignes tes paramètres:

    with QueryMain do begin
    Close;
    ParamByName('Groupe').Value := 'A'; // le groupe actuel
    ParamByName('NomContact').Value := 'test'; // ton contact courant Open;
    end;
    Est ce que je peux utiliser, quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      ParamByName('NOM').Value := QueryMain.FieldByName('NOM').AsString; // ton contact courant
     
    ou
     
      NameContact:= UpperCase(trim(DBNOM.EditText));

  6. #6
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    si j'ai bien compri
    vous voullez afficher dans le combobox les contacts d'un group

    moi a votre place j'utiliserai une intégriter référencielle (avec la tabe group comme maitresse) et a DblookupCombobox.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 63
    Par défaut
    Bonjour,

    Au départ j'avais utilisé un DbLookUpComboBox mais je ne sais pas m'en servir, donc j'ai utilisé un comboBox.

    Si vous avez des explications à me donner pour que j'utilise un DbLookUpComboBox je suis prenante.

    Merci d'avance

    Lilo

  8. #8
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut
    Salut,

    Exemple: Tu relie ta Query à un TDatasource (appelons le Datasource1).
    Tu pose ta DBLookUpComboBox, tu met le champs Source à la valeur datasource1, et la valeur keyfield au champs que tu veux afficher (ici "nom").

    A+.

Discussions similaires

  1. Problèmes avec ma requete SQL de mise a jour
    Par k750_b dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/02/2008, 00h22
  2. Problème simple sur requete sql
    Par williams59 dans le forum ASP
    Réponses: 15
    Dernier message: 02/01/2008, 15h18
  3. Réponses: 10
    Dernier message: 11/07/2007, 09h45
  4. Réponses: 2
    Dernier message: 28/08/2006, 11h12
  5. Problème avec une requete SQL sous access
    Par Luther13 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/12/2005, 11h39

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