Filtres sur un DbGrid (TQuery.filter)

Signaler
Messages postés
137
Date d'inscription
dimanche 7 juillet 2002
Statut
Membre
Dernière intervention
11 janvier 2009
-
Messages postés
39
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
1 octobre 2004
-
Bonjour,

J'aimerais appliquer un filtre sur un DbGrid relié à un TQuery à l'aide de la propriété "filter". Le filtre est définit par l'utilisateur dans un TEdit. Cela fonctionne sauf quand le filtre ne renvoit pas ed valeurs (une erreur apparaît : '' n'est pas une valeur entière correcte.)

Quelqu'un peut-il m'aider ?
Merci

Orélien.

5 réponses

Messages postés
39
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
1 octobre 2004
1
Si tu veux de l'aide il faudrait le code qui déclenche cette erreur !!
Messages postés
137
Date d'inscription
dimanche 7 juillet 2002
Statut
Membre
Dernière intervention
11 janvier 2009

Voici le code :

procedure TForm1.edit1Change(Sender: TObject);
begin
Query.FilterOptions:=[foCaseInsensitive];
Query.Filtered := true;

If edit1.text <> '' then
Try
Query1.Filter := 'nom_projet='+''''+edit1.text+'*''';
begin
Query1.Filter := '';

Le Query1 est relié au DBGrid.

Orélien.
Messages postés
39
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
1 octobre 2004
1
A essayer

if edit1.text <> '' then
....... ton code
else
Query1.Filtered := false;
Messages postés
137
Date d'inscription
dimanche 7 juillet 2002
Statut
Membre
Dernière intervention
11 janvier 2009

Merci, mais le problème se trouve lorsque le filtre ne renvoie aucun résultat dans le DbGrid...

Orélien.
Messages postés
39
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
1 octobre 2004
1
Alors je ne pense pas que le problème viennent de ce filtre, peut être utilises tu un champ calculé ou une action dans les évenements qui font bugger lorsque tu n'as pas d'enregistrement.... Cherches plutot par la !!