Ajout de champs a une requete

tgomas Messages postés 21 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 19 août 2002 - 12 juil. 2002 à 10:29
Cobuce Messages postés 19 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 1 août 2006 - 13 mai 2005 à 13:48
Bonjour,
je voudrais pouvoir modifier une requete dynamiquement. J'arrive a modifier la requete sql, mais je n'arrive pas a ajouter des champs à mon objet TQuery pour récupérer les données résultantes de ma requete. Quelqu'un pourrait-il me conseiller?
(un exemple de code serait meme le bienvenu)

tgomas

7 réponses

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
12 juil. 2002 à 12:56
Pour éclaicir la question, pourrais-tu nous donner la requète originale et modifié ainsi que les résultat que tu voudrais lire...

--- :sleepy) Nono du Moulin :sleepy) ---
0
tgomas Messages postés 21 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 19 août 2002
12 juil. 2002 à 15:03
voici la requete initiale

SELECT tb1.ID , tb1.IDX , tb1.VAL_NUM
FROM Cote tb1
WHERE tb1.ID = :Value

pour laquelle sont donc definis les champs:
ID, IDX et VAL_NUM

voici la requete modifiee (c'est un exemple ou je n'ajoute qu'un seul champ. elle peut etre plus complexe, mais toujours selon le meme shema):

SELECT tb1.ID , tb1.IDX , tb1.VAL_NUM, tb2.VAL_NUM1 as VAL_NUM235
FROM Cote tb1, Cote tb2
WHERE tb1.ID = :Value
AND tb2.ID = 235
AND tb2.IDX = tb1.IDX

je voudrais donc pouvoir afficher les donnees contenues dans le champ VAL_NUM235

en fait la table Cote contient des series de donnees distinguees par leur identifiant(ID), pour chaque serie les donnees sont un indexees(IDX).
l'objectif de ma requete est de pouvoir afficher les valeurs de plusieurs series dont le nombre (au moins une) et les identifiants sont determines au cours de l'execution. c'est pourquoi je modifie ma requete et que je voudrais afficher le (ou les) champ(s) supplementaire(s).

l'objet TQuery est relie a un objet TDBGrid pour pouvoir afficher les donnees. je suppose qu'il faut aussi ajouter le champ VAL_NUM235 a cette grille, mais je ne sais pas vraiment comment faire.
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
13 juil. 2002 à 00:22
As-tu défini des colonnes dans ton DbGrid ?
Tu peux déjà essayer d'utiliser un DbGrid sans colonnes définies, dans ce cas le DBGrid affiche tous les champs en réponse de la requète.

Si tu souhaites conserver le définition des colonnes, tu peux les modifier à l'exécution en utilisant TStringGrid.Columns. Regarde l'aide en ligne à ce sujet.

--- :sleepy) Nono du Moulin :sleepy) ---
0
tgomas Messages postés 21 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 19 août 2002
15 juil. 2002 à 10:01
j'ai deja une colonne de definie, et je veux en definir d'autres pour pouvoir leur donner un titre. en fait tout mon probleme a l'air de se situer a ce niveau:
comment definir des nouvelles colonnes a l'execution???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
15 juil. 2002 à 21:39
Ce n'est pas très simple de gérer les colonnes à l'exécution. Il faut utiliser TStringGrid.Columns.Items pour gérer les colonnes, principalement TStringGrid.Columns.Items.Add pour en ajouter.

Si les colonnes doivent changer suivant les requètes, alors le plus simple est de na pas définir de colonnes. Le DBGrid affichera alors tous les champs résultant de la requète. Il reste néanmoins possible d'en cacher avec ceci :
Query1.FieldByName('LeChampACacher').Visible:=False;
C'est à faire à la suite de chaque ouverture ( Open ) de la requète.
Tu peux aussi changer le titre ou la taille des colonnes ainsi définie par :
Query1.FieldByName('MonChamp').DisplayLabel:='MonTitre';
Query1.FieldByName('MonChamp').DisplayWidth:=5;

--- :sleepy) Nono du Moulin :sleepy) ---
0
Cobuce Messages postés 19 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 1 août 2006
13 mai 2005 à 13:48
0
Cobuce Messages postés 19 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 1 août 2006
13 mai 2005 à 13:48
0
Rejoignez-nous