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 :

extraire un champ dynamique d'une requête


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Points : 96
    Points
    96
    Par défaut extraire un champ dynamique d'une requête
    Bonjour,

    Je fais une requete du type

    SELECT Champs1,Champ2,...,Champ1+Champ2 As Cout_total
    FROM................


    Et maintenant je souhaiterais mettre ma colonne dynamique (Cout_total) dans un lisbox ou autre...... Comment puis je faire? Car je ne peux pas passer par le TQUery puisque mon champ est dynamique??

    Je vais essayer de passer par les tableaux mais bon...
    Avez vous une riche idée??????

    Merki

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Vu que tu identifies ton champ (cout_total) tu peux l'appeler simplement avec un FieldByName d'où l'utiliter du As cout_total.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // ajoute tous les résultats de la requete dans une listbox
    While not EOF do
      With Query do
      begin
        ListBox.Item.Add(FieldByName('Cout_total').asString);
        Next;
      end;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Points : 96
    Points
    96
    Par défaut
    ok v essayer ça

    Danke schöne

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Points : 96
    Points
    96
    Par défaut
    Il y a un probleme:

    Lors de l'éxecution il n'affiche dans le listbox que la première ligne du champ "cout total", or le dbgrid me donne 3 lignes de cout!
    Je pense qu'il faut faire une boucle, je vais voir ça!

  5. #5
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par forzaxelah
    Il y a un probleme:

    Lors de l'éxecution il n'affiche dans le listbox que la première ligne du champ "cout total", or le dbgrid me donne 3 lignes de cout!
    Je pense qu'il faut faire une boucle, je vais voir ça!
    si tu ne veux pas passer par du code, utilise plutot un DBLookupListBox.

  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 : 48
    Localisation : Algérie

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    Citation Envoyé par Malatar
    Vu que tu identifies ton champ (cout_total) tu peux l'appeler simplement avec un FieldByName d'où l'utiliter du As cout_total.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // ajoute tous les résultats de la requete dans une listbox
    While not EOF do
      With Query do
      begin
        ListBox.Item.Add(FieldByName('Cout_total').asString);
        Next;
      end;
    je pense que sa doit etre sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // ajoute tous les résultats de la requete dans une listbox
    With Query do
      While not EOF do
         begin
         ListBox.Item.Add(FieldByName('Cout_total').asString);
         Next;
       end;

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 147
    Points : 184
    Points
    184
    Par défaut
    Bonjour

    Le code est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Query1.Open;
    while Not  Query1.Eof do      
    begin
         ListBox.Item.Add(FieldByName('Cout_total').asString);
         Next;
    end;
    Au royaume des aveugles, les borgnes sont rois.

  8. #8
    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 : 48
    Localisation : Algérie

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    Citation Envoyé par Mirmillon
    Bonjour

    Le code est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Query1.Open;
    while Not  Query1.Eof do      
    begin
         ListBox.Item.Add(FieldByName('Cout_total').asString);
         Next;
    end;
    vous avez oublier le Whith

    soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Query1.Open;
    while Not  Query1.Eof do      
    begin
         ListBox.Item.Add(Query1.FieldByName('Cout_total').asString);
         Query1.Next;
    end;
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    With Query1 do
    Open;
     while Not Eof do      
     begin
          ListBox.Item.Add(FieldByName('Cout_total').asString);
          Next;
     end;

Discussions similaires

  1. Générer un champ dynamiquement avec une requête ?
    Par The Molo dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/06/2007, 15h59
  2. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29
  3. Champ calculé dans une requête
    Par HUÏEZ Fabienne dans le forum Access
    Réponses: 3
    Dernier message: 08/12/2005, 12h31
  4. champ dynamiques dans une procedure stockée
    Par augereau dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/11/2005, 07h52
  5. Nom de champ variable dans une requête SQL
    Par stip dans le forum ASP
    Réponses: 2
    Dernier message: 30/09/2004, 18h02

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