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 :

Filtrage par date


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Filtrage par date
    Bonjour,
    J'ai une table paradox (table1) qui contient des enregistrements avec des dates (ch_date)et je voudrais faire appraitre dans mon dbgrid que les enregistrement compris entre 2 date(maskedit1 et maskedit2) avec la propriete filtre de ma table. je procede comme cela :
    Table1.Filter := '(ch_date >= maskedit1.text) and ( ch_date <= Maskedit2.text)';
    Table1.Filtered := True;
    mais helas ca fonctionne pas
    avez-vous une idée de mpon problème ?
    Merci a vous

  2. #2
    Membre actif

    Profil pro
    Personnel
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Personnel

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Points : 210
    Points
    210
    Par défaut
    Salut,
    et cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Table1.Filter := '(ch_date >= ''' + maskedit1.text + ''') and ( ch_date <= ''' + Maskedit2.text + ''')';
    @+
    Fabrice

  3. #3
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    salut,
    ou ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Table1.Filter := 'ch_date BETWEEN ' + maskedit1.text + ' AND ' + Maskedit2.text;
    :

  4. #4
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    ou alors

    si ta table à déjà un classement précis, autre chose que date, tu peux utiliser le code ci-dessus, ou bien surcharger la méthode 'OnFilterRecord' de ta table.
    Là le filtrage se fait par code.

    Si ta table est déjà classée par date, autant utiliser un SetRange qui est infiniment plus rapide qu'un filtre.

    Ta table étant indexée sur 'Date', il faut faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaTable.SetRange( [ DDate1 ], [ DDate2 ] );
    bon courage !
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  5. #5
    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
    je sait pas si avec les filtre c'est la meme chose qu'avec les requette car les valeur des dates sont de Type TDateTime alors il se peut que les heures sont prise en consideratin alors je vous conseil l'utilisation des fonction
    SatartOfTheDay pour la date de début et EndOfTheDay pour la fin de l'unité DateUtils pour etre sur d'avoir la toutes les enregistrement de l'interval

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Merci à vous tous de votre aide

  7. #7
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    Citation Envoyé par zastas
    Merci à vous tous de votre aide
    Au lieu d'éditer votre message pour ajouter RESOLU, vous diposez du bouton RESOLU en bas à gauche de votre ecran

    Vous pouvez aussi tagger DELESTAGE si vous estimez que le sujet n'a pas un intérêt.

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

Discussions similaires

  1. problème filtrage par date
    Par master_och dans le forum JDBC
    Réponses: 9
    Dernier message: 07/04/2009, 23h15
  2. problème filtrage par date
    Par master_och dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/04/2009, 13h55
  3. filtrage par Date
    Par safezahra dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/03/2008, 17h10
  4. Requete : Problème de filtrage par date
    Par flamby6969 dans le forum Access
    Réponses: 1
    Dernier message: 20/12/2007, 13h29
  5. faire un filtrage par date sur base de donnee "delphi
    Par medsoft dans le forum Bases de données
    Réponses: 7
    Dernier message: 04/02/2006, 17h03

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