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 :

[Interbase] Problème de filtrage


Sujet :

Bases de données Delphi

  1. #1
    Candidat au Club
    Homme Profil pro
    perso
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : perso

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut [Interbase] Problème de filtrage
    Bonjour à tous,
    je cherche à filtrer une IBTable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MaTable.FilterOptions:=[];
    MaTable.Filter:='NOMCLIENT = '+QuotedStr(Recherche.Text);
    MaTable.Filtered:=true;
    Fonctionne très bien, mais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MaTable.FilterOptions:=[foCaseInsensitive];
    MaTable.Filter:='NOMCLIENT = '+QuotedStr(Recherche.Text);
    MaTable.Filtered:=true;
    ... plante (fonctionnalité non supportée).

    J'ai vu dans la doc qu'une erreur était déclenchée sur les tables unidirectionnelles.
    Ce n'est pas le cas de la mienne.

    Auriez-vous une solution ?
    J'ai cherché sur google mais je n'ai rien trouvé.

    Cordialement
    Philippe

  2. #2
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut
    Bonjour saint.gilles,

    essaie comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      MaTable.Filtered := False;
      MaTable.FilterOptions := [];
      MaTable.Filter := 'NOMCLIENT LIKE ''%' + QuotedStr(Recherche.Text) + '%''';
      MaTable.Filtered := True;
    puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      MaTable.Filtered := False;
      MaTable.FilterOptions := [foCaseInsensitive];
      MaTable.Filter := 'NOMCLIENT LIKE ''%' + QuotedStr(Recherche.Text) + '%''';
      MaTable.Filtered := True;
    et dis-moi le résultat.
    @+

  3. #3
    Candidat au Club
    Homme Profil pro
    perso
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : perso

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    merci pour ta réponse.

    Pour la 1/ erreur SQL
    Pour la 2/ "Fonctionnalité non supportée".

    Amicalement
    Philippe

  4. #4
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut
    désolé, mais je t'avais répondu, mais la réponse a disparu !
    aussi, je recommence..

    je fais le test avec un Tiboquery et Firebird 2.5

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      IBOQuery1.Close;
      IBOQuery1.Filtered := False;
      IBOQuery1.FilterOptions := [foCaseInsensitive];
      IBOQuery1.Filter := 'NOM = ' + QuotedStr(Recherche.Text);
      IBOQuery1.Filtered := True;
      IBOQuery1.Open;   }
    end;
    qui filtre les enregistrements dont le contenu du champ NOM correspondant exactement au texte tapé dans Recherche, sans tenir compte de la casse.
    résultat :

    Nom : Capture.JPG
Affichages : 120
Taille : 35,3 Ko


    Puis, un autre test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      IBOQuery1.Close;
      IBOQuery1.Filtered := False;
      IBOQuery1.FilterOptions := [foCaseInsensitive];
      IBOQuery1.Filter := 'NOM LIKE ''%' + Recherche.Text + '%''';
      IBOQuery1.Filtered := True;
      IBOQuery1.Open;
    end;
    qui filtre les enregistrements dont le contenu du champ NOM contient le texte tapé dans Recherche, sans tenir compte de la casse.

    résultat :
    Nom : Capture_2.JPG
Affichages : 124
Taille : 60,3 Ko

    convaincu ?

    me dire si ça te convient
    @+

Discussions similaires

  1. Interbase: Problème de case dans un SELECT
    Par mameziane dans le forum InterBase
    Réponses: 16
    Dernier message: 18/11/2007, 11h34
  2. [InterBase] Problème avec les champs incrémentables
    Par ProgD dans le forum InterBase
    Réponses: 4
    Dernier message: 08/11/2007, 16h51
  3. [delphi][interbase]problème de transaction
    Par daheda dans le forum Bases de données
    Réponses: 4
    Dernier message: 26/10/2006, 09h12
  4. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 17h07
  5. [Interbase] Problème de connections
    Par yolepro dans le forum InterBase
    Réponses: 3
    Dernier message: 24/02/2004, 15h31

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