Dbgrid mise a jour [Résolu]

cs_deubal 198 Messages postés mercredi 26 novembre 2003Date d'inscription 26 août 2009 Dernière intervention - 21 nov. 2005 à 13:01 - Dernière réponse : cs_deubal 198 Messages postés mercredi 26 novembre 2003Date d'inscription 26 août 2009 Dernière intervention
- 21 nov. 2005 à 16:42
bonjour,
dans mon appli j'ai une dbgrid qui est rempli grace a une requete. lors de l'ouverture de l'appli, la dbgrid se rempli une premiere fois avec tout ce uqi est contenu dans la table (select * from matable). or il y a un module de recherche ou l'utilisateur coche ou saisit des infos pour affiner l'affichage des enregistrements de la dbgrid. ma requete fonctionne mais je sais pas comment mettre a jour l'affichage de la dbgrid, j'ai essayé :
marequete.open;
madbgrid.refresh
ou ma dbgrid.update
mais ca fonctionne pas, alors que la source de la dbgrid ets bien marequete. comment je fais??
Merci par avance pour votre aide...
Bonne aprem'
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
vaughan 207 Messages postés mardi 6 août 2002Date d'inscription 29 octobre 2008 Dernière intervention - 21 nov. 2005 à 14:53
3
Merci
Comme ta requête est statique, alors faire :
DataModule2.Query1.Active := False;
DataModule2.Query1.Active := True;

vaughan

Merci vaughan 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de vaughan
Meilleure réponse
cs_deubal 198 Messages postés mercredi 26 novembre 2003Date d'inscription 26 août 2009 Dernière intervention - 21 nov. 2005 à 15:09
3
Merci
après avoir testé plein de trucs differents j'ai fait :
Fich_Base_Std1.query_affichfrn.ExecSQL;
Fich_Base_Std1.setfocus;
Fich_Base_Std1.query_affichfrn.Active := true;
et ca fonctionne impec'. enfin ca y est !!
merci d'avoir pris le temps

Merci cs_deubal 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de cs_deubal
vaughan 207 Messages postés mardi 6 août 2002Date d'inscription 29 octobre 2008 Dernière intervention - 21 nov. 2005 à 13:49
0
Merci
Il faut que tu donne le type de datasource de ta DBGrid pour que l'on puisse t'aider.

Pour avancer pour exemple :
Si ton datasource est lié à un TDataset alors il defaut faire,
DataModule2.DataSet1.Refresh;
Si ton datasource est lié à un TQuery alors il te faut faire
DataModule2.Query1.Active := False;
DataModule2.Query1.Active := True;

Syntaxe Delphi :


procedureRefresh;


Syntaxe C++:


void __ fastcallRefresh(void);


Description


Appelez la méthode Refresh pour garantir qu'une application dispose des données les plus récentes d'une base de données.Quand,par exemple,une application désactive le filtrage d'un ensemble de données,elle appelle immédiatement Refresh afin d'afficher tous les enregistrements de l'ensemble de données,et pas uniquement ceux qui ont vérifiéla condition du filtre.


Remarque : La méthode Refresh ne fonctionne pas pour tous les descendants de TDataSet.En particulier,les composants TQuery ne gèrent pas la méthode Refresh si la requête n'est pas dynamique.Pour actualiser un objet TQuery statique,fermez et réouvrez l'ensemble de données.

Voir l'aide Delphi

vaughan
Commenter la réponse de vaughan
cs_deubal 198 Messages postés mercredi 26 novembre 2003Date d'inscription 26 août 2009 Dernière intervention - 21 nov. 2005 à 14:36
0
Merci
le dbgrid est lié à une tdatasource, elle-meme lié à une tquery
Commenter la réponse de cs_deubal
dominique.stock 446 Messages postés vendredi 7 novembre 2003Date d'inscription 8 octobre 2008 Dernière intervention - 21 nov. 2005 à 16:10
0
Merci
"Execsql", laisse la requête fermée à la fin.
"Active", l'ouvre.
C'est un peu ce qu'a marqué Vaughan ?

Dom
Commenter la réponse de dominique.stock
cs_deubal 198 Messages postés mercredi 26 novembre 2003Date d'inscription 26 août 2009 Dernière intervention - 21 nov. 2005 à 16:42
0
Merci
j'ai pas dit que ce que vaughan avait ecrit m'a pas aider... j'ai essayé ce qu'il avait ecrit et ca fonctionnait pas, alors j'ai testé differents trucs a partir de ca et voila je suis arrivé à ce code.
Commenter la réponse de cs_deubal

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.