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

SAP Crystal Reports Discussion :

[CR10] Restriction date dans une commande


Sujet :

SAP Crystal Reports

  1. #1
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut [CR10] Restriction date dans une commande
    Bonjour,
    j'ai un champ date dans ma commande {CREDAT_0}
    je voudrais faire une restriction du style :

    And CREDAT_0 > '01/10/2007'

    Le problème c'est que mon champ est un type date/heure.
    J'ai également essayé quelque chose comme çà :

    And trunc(CREDAT_0) > '01/10/2007'

    Mais il m'affiche tout les enregistrements, il ne tient pas compte de ma restriction.

    Comment dois-je procéder ?

    Merci d'avance

  2. #2
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Bonjour,

    Toi, tu es sur X3...
    Si tu veux faire vraiment à ta façon, faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    left({CREDAT},10)>01/01/2007
    mais je ne vois pas l'utilité de la chose. Pourquoi tu ne renseignes pas l'heure ? A mon avis vous ne la gérer pas et elle est tout le temps à 00:00
    Et pourquoi pas le champ ORDDAT ?

  3. #3
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    Oui avec Adonix,
    je veux bien renseigner l'heure que mettre alors ?
    Oui on gère pas l'heure.
    Pourquoi ORDDAT ne prend pas l'heure ?
    Moi je veux bien utiliser ce champ mais il n'existe pas dans la table que j'ai pris.

  4. #4
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    Et puis j'ai essayé de mettre ta formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LEFT({CREDAT},10)>01/01/2007
    dans la commande et il me met identificateur non valide.
    Je parle de la commande et non d'un champ de formule

  5. #5
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Bon j'ai pas trop le temps de rentrer dans les détails donc tu fais ça :
    Tu vas dans l'expert sélection et tu choisis ton champ CREDAT.
    Tu choisis est inférieur à (ou supérieur osef) et tu cliques sur la petite flèche, il va te sortir dans une liste tous les enregistrements et tu choisis ce qui t'arrange.

  6. #6
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    Oui çà connaît.
    Mais quand on procède comme cela, il récupère tout les enregistrement de la commande et ensuite il fait la restriction sur la date. Donc çà rend les temps de réponse trop long.
    Moi je veux faire la restriction sur la date dans la commande pour exclure de suite les enregistrements que je ne veux pas.

  7. #7
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Points : 178
    Points
    178
    Par défaut
    T'as essayé une formule du genre

    CDate(CREDAT_0) > '01/10/2007'

    ?

    Cdate = convertir en date

  8. #8
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    CDate identificateur non valide comme pour le LEFT.
    Je vous rappel que je ne suis pas dans un champ de formule mais dans ma commande.

  9. #9
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    si t'es dans une commande, c'est du SQL, tu dois bien avoir des solutions de formatage (to_date, to_char, etc...) en fonction du SGBD
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  10. #10
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    Voilà ce que j'ai mis dans ma commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And to_date(S.CREDAT_0) > '01/10/2007'
    Mais comme pour le trunc, il m'affiche tout. Il ne tient pas compte de ma restriction.

    J'ai des date du style : 04/10/2004

    ???

  11. #11
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    c'est quoi le format de S.CREDAT_0?
    il faudrait vérifier ce que retourne to_date(S.CREDAT_0)
    et ainsi vérifier ta condition mais surtout le formatage

    tu compares une date avec une chaine...bacal ça.
    si je considère S.CREDAT_0 au format yyyy/mm/dd je verais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_date(S.CREDAT_0,'YYYY/MM/DD') > to_date('01/10/2007','DD/MM/YYYY')
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  12. #12
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    Quand j'insère CREDAT_0 dans l'état il m'affiche le champ sous cette forme :
    01/10/2007 00:00:00

    Donc dans ma commande j'ai écris ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And to_date(S.CREDAT_0,'DD/MM/YYYY') > to_date('01/10/2007','DD/MM/YYYY')
    Mais j'ai ce message d'erreur :
    "le littéral ne concorde pas avec le format chaîne de caractères"

  13. #13
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    le littoral plutôt...tu dois habiter près de la mer...

    plus sérieusement, c'est quoi le type de CREDAT?

    as tu la possibilité de tester ta requête ailleurs que dans CR?
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  14. #14
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    apparemment il serait de type date, mais pourquoi il s'affiche en date/heure dans l'état

  15. #15
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Citation Envoyé par leloup84 Voir le message
    apparemment il serait de type date, mais pourquoi il s'affiche en date/heure dans l'état
    non, il est de type Date/Heure

  16. #16
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    Quand j'écris çà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And to_date(S.CREDAT_0,'YYYY/MM/DD') > to_date('01/10/2007','DD/MM/YYYY')
    il me retourne ce message :
    "données surnuméraires après la conversion correcte d'une chaîne en entrée"

  17. #17
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    Citation Envoyé par leloup84 Voir le message
    apparemment il serait de type date, mais pourquoi il s'affiche en date/heure dans l'état
    moi, tous mes types date me font ça...je les formatte systèmatiquement..
    le problème n'est pas là pour toi...c'est le fameux littéral qui m'intrigue
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  18. #18
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    çà m'aide pas beaucoup çà

  19. #19
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    désolé...
    tu n'as pas le moyen de vérifier la syntaxe SQL en dehors de CR. La syntaxe que je t'ai donné n'est peut-etre pas standard?
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  20. #20
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 218
    Points : 257
    Points
    257
    Par défaut
    C'est à dire access ou quelques choses comme çà ?
    Parce que ce sont des tables Oracle.
    Je ne peux les lier a une base access

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [CR XI] Plage de date dans une commande SQL pour une analyse de pareto
    Par Gdf.pdo dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 03/09/2009, 11h35
  2. Changer le format d'une date dans la commande
    Par leloup84 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 07/08/2007, 13h42
  3. insérer une date dans une table mssql
    Par ericmart dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/01/2004, 10h37
  4. test la valeur d'une date dans une requete
    Par TuxP dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/01/2004, 14h53
  5. Transformation de date dans une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/10/2003, 11h31

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