Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Fonction OnFilterRecord [ Base de données / Autre ] (ikremnitz)

mercredi 27 août 2008 à 17:55:03 | Fonction OnFilterRecord

ikremnitz

Bonjour,

je cherche à filtrer une requête qyListe sur un champ calculé. Pour cela j'utilise un RadioGroup rgFiltreType et la fonction OnFilterRecord

procedure TfmBilanBiologique.qyListeFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
   case rgFiltreType.ItemIndex of
     0 : Accept := (qyListe.FieldByName('TYPECTE').AsString = 'M')
     1 : Accept := (qyListe.FieldByName('TYPECTE').AsString = 'S');
   end;
end;

Mais la donnée (qyListe.FieldByName('TYPECTE').AsString est toujours nulle (alors qu'elle est renseignée dans le DBGrid correspondant) et du coup le filtre ne fonctionne pas.

J'ai du louper quelque chose mais je ne vois pas quoi.
Pouvez-vous m'aider ?

Merci.

mercredi 27 août 2008 à 22:04:20 | Re : Fonction OnFilterRecord

cantador

Membre Club
bonsoir,

Le filtrage est activé si la propriété Filtered a la valeur true

cantador

jeudi 28 août 2008 à 10:09:47 | Re : Fonction OnFilterRecord

ikremnitz

Bonjour,

La propriété Filtered est bien à True.

Ilona

jeudi 28 août 2008 à 13:11:04 | Re : Fonction OnFilterRecord

cantador

Membre Club

sur le clic du RadioGroup :

procedure TForm1.rgFiltreTypeClick(Sender: TObject);
begin
  Query1.filtered := false;
  Query1.Filtered := true;
end;

cantador


jeudi 28 août 2008 à 15:06:10 | Re : Fonction OnFilterRecord

ikremnitz

Merci pour cette indication: c'est ce que j'ai fait et ça ne marche pas.

En fait, on passe bien dans la fonction mais le champ n'est pas encore calculé, il est vide. Du coup la requête n'affiche rien.

Ilona

jeudi 28 août 2008 à 15:22:39 | Re : Fonction OnFilterRecord

cantador

Membre Club
J'ai testé et ça marche nickel chrome..
bien sûr avec données affichées dans un grid sur requête non filtrante
(select * from Matable)

sur les deuc clics dans le radiogroup, j'ai bien l'exécution des deux possibiltés du
OnFilterRecord avec affichage des données correctes (et sans rafraîchir)

cantador

jeudi 28 août 2008 à 16:58:55 | Re : Fonction OnFilterRecord

ikremnitz

Je suis d'accord avec toi. Mais j'ai une petite difficulté supplémentaire: le champ sur lequel je trie est un champ calculé. Au moment où je passe dans la fonction, le calcul n'a pas encore été fait et le champ est vide => la requête est vide.

Ilona

jeudi 28 août 2008 à 18:18:36 | Re : Fonction OnFilterRecord

cantador

Membre Club
Réponse acceptée !
arf, pas bien noté "sur champ calculé".
c'est normal que ça ne marche pas dans ce cas.

il faut trouver une autre solution :
créer un autre champ ou stocker l'information  etc..
les champs calculés, c'est bien mais faut pas en abuser car maintenant vu la puissance des bases de données et des pc, quelquefois, il est préférable de stocker l'information et de la tester ensuite.
c'est même plus rapide.

cantador

vendredi 29 août 2008 à 11:34:57 | Re : Fonction OnFilterRecord

ikremnitz

Merci d'avoir pris le temps de me répondre.

Une fois qu'on sait que ça ne marche, on trouve d'autres solutions peut-être un peu plus lourdes mais qui fonctionnent. Et c'est là l'essentiel.

Ilona

vendredi 29 août 2008 à 11:41:45 | Re : Fonction OnFilterRecord

cantador

Membre Club
peut-être un peu plus lourdes

non pas forcément..
J'avais un case of dans un OnCalcField, je l'ai viré, j'ai stocké les infos à la place des champs calculés
résultat : 3 fois plus vite

il faut tester chaque solution en la chronométrant sans à priori..

cantador



Cette discussion est classé dans : fonction, accept, fieldbyname, qyliste, typecte


Répondre à ce message

Sujets en rapport avec ce message

fonction de "consersion" [ par jakouz ] bonjour je voudrais savoir s'il existe une fonction intégrée delphi qui me donne le chemin absolu de mon répertoire de base http (web) ? Merci d'avanc Appeler un fonction a partir d'une autre unit [ par fabiin ] Salutalors voila,g une fonction ki ce trouve dans une autre unit, mais cette unit n'est pas "lié" a une form, elle est juste comme ca pour mettre des limitation de sendtext ? [ par Xavier ] Bonjour,Comme la fonction sendtext prend en parametre un string et sachant qu'un string peut faire 2 Mo, pensez-vous qu'il est raisonnable d'utiliser prb avec dll et tableau dynamique [ par bd ] actuellement je recois en parametre d'une fonction un tableau de longueur variable. ce tableau est rempli dans la fonction de la dll.au retour dans la Retourner une chaine... [ par ELECTRORESiSTiK ] Salut,J'ai une chaine "1234567890" je cherche une fonction qui me donnerai "0987654321". Comment puis-je faire ça ? Il existe une fonction ?Merci d'av Fonction ??? [ par ELECTRORESiSTiK ] Salut, je cherche une fonction qui me permettrai de mettre un texte en forme sur une largeur de 70 caractère sans couper un mot et mettre des espaces Une fonction existe pour ça ? [ par ELECTRORESiSTiK ] Salut, je cherche une fonction qui me permettrait de mettre un texte en forme sur une largeur de 70 caractères sans couper un mot et mettre des espace déclaration d'une fonction [ par vib ] Je désire déclarer la fonction:function trouver_composant(t:string):Tcompopour quelle soit visible dans les autres unités.Je la déclare donc dans la p Fonction pour séparer des champs dans une chaine [ par belkin ] Bonjour,Existe-t-il une fonction qui permet de séparer des champs dans une chaine ?Exemple : MaVariable := '123_456.dat';Je veux séparer le 123 et 456 mot-clé inherited et les fonction [ par JesseJames ] salut, j'ai un problème qui me torture la vie, help !Ayant 2 classes, A et B, A était la super-classe et B une classe fille.la méthode (fonction) de A


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.