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

Designer Discussion :

Filtre sur date max


Sujet :

Designer

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 25
    Points
    25
    Par défaut Filtre sur date max
    Bonjour,

    Je débute sur Designer. J'essaie de créer un filtre prenant la date la plus récente et je n'y arrive pas.
    J'ai une table de clients et une table de commandes.
    Ma table de commandes contient une ligne par commande
    Les tables sont liées par le champ numclient (client.numclient=commande.numclient).
    J'aimerais créer un filtre Commande la plus récente dans mon univers, pour pouvoir ne récupérer au besoin dans un rapport que la dernière commande en date.
    J'ai essayé avec un
    commande.datecommande = select max (commande.datecommande)

    mais je dois oublier quelquechose car il me prend la date maxi non pas par client mais tous clients confondus.

    Pouvez-vous m'aiguiller ?

    Merci !

  2. #2
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Je te conseille de passer par une table dérivée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT
    commande.numcommande, 
    commande.numclient,
    max(commande.datecommande)
    from
    commande
    group by
    commande.numcommande, 
    commande.numclient
    Ensuite tu fais le lien sur ta table commande ou client selon ton besoin.

  3. #3
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    J'ai dit une bétise !
    Le numcommande ne doit pas être dans le group by, il ne faut pas le mettre dans la requête. Du coup tu fais le lien vers la table commande par le numclient et la datecommande pour obtenir ton numcommande

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Est-ce possible que la création de tables dérivées soit bloquée dans l'univers ?

    Quand j'essaie d'en créer une, j'obtiens systématiquement un message d'erreur de syntaxe (STATE:42000), même si je crée une table dérivée toute simple en sélectionnant un seul champ d'une table.

    Par contre si j'essaie sur un autre univers avec une autre connexion, ça marche bien...

  5. #5
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Je ne peux pas dire, j'ai toujours eu l'accès donc, je n'ai jamais rencontré cette erreur.
    Peux tu vérifier si la connexion est sécurisée ou partagée ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    La connexion est sécurisée.
    Quand je dis que ça fonctionne avec une autre connexion, je veux dire que je me connecte sur un autre site avec un autre login.
    C'est peut-être au niveau des droits utilisateur que quelque chose bloque (et là je n'ai pas accès à l'administration des droits).

  7. #7
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    En quelle version es tu ?
    (Pour ma défense tu avais parlé d'un autre univers )

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Je suis en version 6.5
    Et tu avais bien compris, ça marche sur un autre univers, avec un autre login, etc (dans une autre région de France)
    Et si je ne peux pas faire de table dérivée, ai-je un autre moyen de filtrer mes données pour ne garder que les lignes concernant la date la plus récente ?

    Merci pour ton aide !

  9. #9
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Au risque de dire une bétise, je me demande si tu ne peux pas faire une jointure avec sous select.
    En gros:
    - Créer un alias de ta table commande (CommandeMax)
    - Créer le lien avec le sous select
    Si ca marche, ca donnerait quelque chose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Commande.Numclient=CommandeMax.Numclient AND
    Commande.datecommande=
    (select datecommandemax 
    from 
    (select max(CommandeMax.datecommande) as datecommandemax,
    CommandeMax.Numclient 
    from 
    CommandeMax 
    group by 
    CommandeMax.Numclient))
    Je répète que je ne suis pas du tout sûr que ca fonctionne, et je persiste à dire que la table dérivée est la meilleure solution.
    Bon courage.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Merci pour ton aide.

    En fait, je me suis aperçu que j'avais déjà résolu mon problème. Mon filtre marche mais lorsque je rafraîchissais la requête, BO ne régénérait pas le SQL (pourtant la case Ne pas régénérer le SQL n'était pas cochée).
    Ce matin en rouvrant ma requête et en la rafraîchissant, BO a actualisé le SQL et j'ai vu que mon filtre marchait !

    Pour info, j'ai donc créé un filtre du type :

    commande.datecommande = (select max (datecommande) from commande X where X.numclient = commande.numclient)

    Bonne journée !

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

Discussions similaires

  1. MySQL + c++ builder : Filtre sur date inposible
    Par fpascal dans le forum MySQL
    Réponses: 8
    Dernier message: 09/10/2008, 09h46
  2. [BOXI] Problème de filtre sur date
    Par Julien59 dans le forum Deski
    Réponses: 6
    Dernier message: 10/06/2008, 10h25
  3. Filtre sur date du jour + date du jour+1
    Par pierrot67 dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/05/2007, 07h21
  4. Problème de filtre sur date avec ADOQuery
    Par lingli dans le forum Bases de données
    Réponses: 12
    Dernier message: 30/04/2006, 15h40
  5. Filtre sur date
    Par MagicManu dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/08/2005, 00h05

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