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 :

utilisation des filter pr affichage des enreg commençant par les carc d1 Tedit


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 62
    Points : 52
    Points
    52
    Par défaut utilisation des filter pr affichage des enreg commençant par les carc d1 Tedit
    bonjour tout le monde!!!
    ben mon sousi est de savoir comment fair un filtre pour pouvoir afficher tt les enregistrements qui commencent avec les caracters qui se trouvent sur Tedit

    g fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Table1.Filtered:=false;
    table1.Filter:='Nomclt='+QuotedStr(edit1.Text)+'*';
    Table1.Filtered:=true;
    mais ça ne marche pas, j'ai une exeption: 'Arethmetique non suportée dans les expressions filter'

    pouvez vous m'aider!!! ça me sera d'une trés grande utilité!!!
    veuillez accepter mes remerciments distingués!!!!

  2. #2
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    essai sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Table1.Filtered:=false;
    Table1.Filter:='Nomclt='+QuotedStr(edit1.Text+'*');
    Table1.Filtered:=true;

  3. #3
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    J'utiliserais plutôt un like:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Table1.Filtered := false;
    Table1.Filter:='Nomclt like ' + QuotedStr(edit1.Text + '*');
    Table1.Filtered := true;
    @+

  4. #4
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    +1
    j'utilise plus les filtre j'ignore que le like fonctionne avec les filtres.

  5. #5
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    Bonjour,

    La meilleure solution, dans ce cas, est d'utiliser l'evnt OnFilterRecord.

    PS : Il faut mettre la propriété Filtered de la table à True

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    procedure TfrmAddArt.Table1FilterRecord(DataSet: TDataSet;
      var Accept: Boolean);
    var
      s : String;
      i : SmallInt;
    begin
      s := Trim(UpperCase(edit1.Text));
      i := Length(s);
     
      if s <> '' then
        Accept :=
          (UpperCase(Copy(Table1.FieldByName('NOMCLT').AsString, 1, i)) = s);
    end;

    Bon Dév.

  6. #6
    Membre régulier
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Points : 111
    Points
    111
    Par défaut
    salut
    pour ton probleme je prefere detuliser un query c mieux
    code:
    query1.sql.clear;
    query1.sql.add('select * from matable where champ= '''+edit1.text+'''');
    query1.open;

    essaye ca a+

  7. #7
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 62
    Points : 52
    Points
    52
    Par défaut
    Kroma23 a dit:
    salut
    pour ton probleme je prefere detuliser un query c mieux
    code:
    query1.sql.clear;
    query1.sql.add('select * from matable where champ= '''+edit1.text+'''');
    query1.open;

    essaye ca a+
    Vous avez raison pour le querry mais vous avez oublier le '%'

    Je vous remmerci tous!!!!!!!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/08/2014, 09h46
  2. Réponses: 0
    Dernier message: 29/04/2009, 02h03
  3. Réponses: 5
    Dernier message: 09/03/2009, 20h23
  4. Réponses: 9
    Dernier message: 04/12/2008, 15h22
  5. Réponses: 3
    Dernier message: 14/07/2006, 20h24

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