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 :

Filtre sur champ persistant


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut Filtre sur champ persistant
    Bonjour,

    j'aimerais savoir s'il existe une possibilité de filtrer sur un champ persistant.

    Sur l'évènement onChange de trois Edit je créé un filtre sur une table nommée tblChantiers, un sur les noms clients, un sur les code postaux et un sur les villes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    procedure TfrmChantiers.RechercheChantier;
    var moncritere:string;
        Option : TLocateOptions;
    begin
      if (Edit1.Text='') and (Edit2.Text='') and (Edit3.Text='') then
        DM.tblChantiers.Filtered:=false;
        moncritere := '';
        //Recherche sur un CP
        //-------------------
        If Edit1.GetTextLen<> 0  Then
            moncritere := moncritere + ' [CP_chantier] Like ''' + Edit1.text + '%'''+' AND';
        //Recherche sur une ville
        //--------------------
        If Edit2.GetTextLen<> 0  Then
            moncritere := moncritere + ' [Ville_chantier] Like ''' + Edit2.text + '%'''+' AND';
        //Recherche sur les clients
        //-----------------------------
        If Edit3.GetTextLen<> 0  Then
          moncritere := moncritere + ' [ClairClient] Like ''' + Edit3.text + '%'''+' AND';
          //Ici ce n'est pas bon car ClairClient est un champ persistant qui n'est pas dans ma table tblChantiers mais dans ma table tblClients
        // Afficher le résultat
        If Length(moncritere) > 0 Then
            begin
            moncritere := Copy(moncritere, 1,Length(moncritere) - 4);
            DM.tblChantiers.Filter :=moncritere;
            DM.tblChantiers.Filtered:=true;
            end;
    end;
    Le problème, à l'affichage dans un DBGrid j'ai un champ persistant, les noms clients issu d'une table tblClients.

    Est il possible de filtrer sur ce champ et si oui comment?

    D'avance merci

    Codial

  2. #2
    Membre chevronné Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Par défaut Juste une solution
    Si tu remetais tout ton code dans L'evenement OnFilterRecord

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Accept := (Accept) and (Test sur critère);
    Comme ça même si ton champs n'est pas un champs de données il va être filté

Discussions similaires

  1. Filtre sur champ
    Par guenfood dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/08/2009, 15h10
  2. [DOM] [Filtre sur champ] Chiffres et tabulation
    Par richard_sraing dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 09/04/2009, 14h04
  3. Problème Filtre sur champ Date
    Par Batoche dans le forum kettle/PDI
    Réponses: 2
    Dernier message: 23/02/2009, 17h35
  4. Réponses: 1
    Dernier message: 28/02/2008, 21h40
  5. Filtre sur champ null ou vide
    Par pierrot67 dans le forum Débuter
    Réponses: 4
    Dernier message: 15/09/2007, 13h10

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