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

Paradox Discussion :

Filtre sur l'année d'une Date


Sujet :

Paradox

  1. #1
    Membre régulier Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Points : 111
    Points
    111
    Par défaut Filtre sur l'année d'une Date
    Bonjour,

    Voilà, je voudrais savoir comment filtrer ma table juste sur L'année du champs Date...
    Je m'explique:
    Table: TabAppel : Type Paradox
    Champs: N_App, Objet_App, ..., Date_PArution, ...)

    Je voudrais pouvoir donner la possibilté à 'utilisateur de Filtrer Ma table Par rapport au champs: Date de parution , mais Juste sur l'année
    Exemple: Filtrer les Appels d'offres parus en : 2006
    Les dates ont le format: jj/mm/aaaa

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 097
    Points : 41 081
    Points
    41 081
    Billets dans le blog
    62
    Par défaut
    Comment tu n'as pas trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT t.* from TabAppel T Where extract(Year FROM T.Date_Parution)=2006
    devrait fonctionner , non testé

  3. #3
    Membre régulier Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Points : 111
    Points
    111
    Par défaut
    Oui mais c'est pas à travers une requête que je voudrais le faire, C'est plutôt avec un Filtre, car j'en utilise déja un, pour Un autre paramètre de filtre:

    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
    procedure TFConsultationApp.FiltreBtnClick(Sender: TObject);
    Var
    FiltrClass:String;
    FiltrAnn:String;
    begin
     If FiltrClasRad.Checked=true then
      Begin
       Datamodule3.TabAppel.Filtered:=false;
       FiltrClass:= 'Classe = '''+ LookClass.Text + '*''';
       datamodule3.TabAppel.filter:=FiltrClass;
       datamodule3.TabAppel.Filtered:=true;
      end;
       If ParRad.Checked=true then
      Begin
       Datamodule3.TabAppel.Filtered:=false;
       FiltrAnn:=  ????????????????????;
       datamodule3.TabAppel.filter:=FiltrAnn;
       datamodule3.TabAppel.Filtered:=true;
      end;
    
    end;
    C'est juste pour la partie en rouge ci dessus, Je veux un Filtre pour continuer dans le même esprit

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 097
    Points : 41 081
    Points
    41 081
    Billets dans le blog
    62
    Par défaut
    Effectivement dans ce cas là je t'ai mal dirigé en t'indiquant de forum puisque du coup c'est Delphi .
    Voir ce que j'ai répondu dans ce dernier . le mieux c'est de travailler avec l'evenement onFilterRecord de la table
    decouper la date puis Accept:=(Annee=2006);

  5. #5
    Membre régulier Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Points : 111
    Points
    111
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Effectivement dans ce cas là je t'ai mal dirigé en t'indiquant de forum puisque du coup c'est Delphi .
    Voir ce que j'ai répondu dans ce dernier . le mieux c'est de travailler avec l'evenement onFilterRecord de la table
    decouper la date puis Accept:=(Annee=2006);
    Eh...... Comment???

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 097
    Points : 41 081
    Points
    41 081
    Billets dans le blog
    62
    Par défaut
    quelque chose comme ça (non testé) . Le problème c'est que j'ai l'impression qu'il y a beaucoup de Forms dans ton projet donc au hasard

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    datamodule3.TabAppelOnFilterRecord(DataSet : TDataSet;Accept : Boolean);
    var aa,mm,jj : word;
    begin
    If TFConsultationApp.ParRad.Checked then
    begin
      DecodeDate(DataSet['Date_PArution'].value]);
      Accept:=(aa=2006);
    end;
    end;
    il faut bien sur "oublier"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      // FiltrAnn:=  ????????????????????;
      // datamodule3.TabAppel.filter:=FiltrAnn;

  7. #7
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 504
    Points : 2 773
    Points
    2 773
    Billets dans le blog
    10
    Par défaut
    En Delphi tu crée un index secondaire sur la colonne Date_PArution nommé ici IS1
    puis dans le programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Table1.IndexName := 'IS1' ;
      Table1.SetRange([StrToDate('01/01/2000')],[StrToDate('01/01/2001')]);

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

Discussions similaires

  1. [WD17] TableActiveFiltre sur l'année d'une rubrique de type Date
    Par new_dreams dans le forum WinDev
    Réponses: 6
    Dernier message: 12/02/2013, 15h45
  2. Group By sur l'année d'une date
    Par roland34 dans le forum Firebird
    Réponses: 2
    Dernier message: 07/10/2008, 18h53
  3. Primary Key sur mois et année d'une date
    Par Somato dans le forum SQLite
    Réponses: 4
    Dernier message: 19/06/2008, 17h57
  4. Requete sur l'année d'une date
    Par robbiano78 dans le forum Hibernate
    Réponses: 2
    Dernier message: 04/02/2008, 10h04
  5. requête sur l'année d'une date
    Par jo77 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/07/2003, 09h28

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