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 :

Comparaison de date/heure fournies en paramètre avec date/heure de la base


Sujet :

SAP Crystal Reports

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2022
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Comparaison de date/heure fournies en paramètre avec date/heure de la base
    Etant novice dans l'utilisation de Crystal Report, je sollicite votre aide.

    Je souhaiterai comparer un champ date/heure au format (DD/MM/YYYY HH24:MI) récupéré de la base avec une date de début (DD/MM/YYYY) + heure de début (HH:MI) et une date de fin (DD/MM/YYYY) + heure de fin (HH:MI) fournis en entrées en paramètre au rapport Crystal report? Les dates et heures fournies en entrée en paramètre sont tous des chaînes. Et dans quelle parties de Crystal Report faut-il le mettre.
    - Sélection des données enregistrées OU Sélection d'enregistrement?
    Comment mettre tout cela au bon format pour que la comparaison fonctionne?

    Pour l'instant voici ce que j'ai fait dans la partie "Sélection d'enregistrement" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (({Command.ENTRY_TIMESTAMP} >= {?DateDeDebut} & " " & {Command.START_TIME}) AND ({Command.ENTRY_TIMESTAMP} <= {?DateDefin}) & " " & {Command.END_TIME}))
    Message d'erreur obtenu: Le texte restant ne semble pas faire partie de la formule.

    Merci pour votre aide.
    JN

  2. #2
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Bonjour

    Quel est le format exact des champs incriminé (à l'affichage)
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  3. #3
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Essaye de compiler les formule avec la fonction datetime
    mais tes paramètres doivent être en format Date

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (({Command.ENTRY_TIMESTAMP} >= Datetime({?DateDeDebut},{Command.START_TIME}) AND ({Command.ENTRY_TIMESTAMP} <= Datetime({?DateDefin},{Command.END_TIME}))
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  4. #4
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2022
    Messages : 9
    Points : 4
    Points
    4
    Par défaut format date
    Citation Envoyé par luc_chivas Voir le message
    Bonjour

    Quel est le format exact des champs incriminé (à l'affichage)
    Le format de la date à l'affichage est : DD/MM/YYYY HH:MI ==> 10/11/2015 12:13

  5. #5
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2022
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    J'ai implémenté cette solution , mais j'ai eu une popup me disant que
    Trop d'arguments ont été attribués à cette fonction
    en me surlignant {Command.START_TIME}.
    Ci-joint le fichier avec l'erreur.

    Un formatage est-il nécessaire pour pouvoir comparer correctement tous les champs??
    Fichiers attachés Fichiers attachés

  6. #6
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    qu'y a t'il dans ces champs. vous pouvez les afficher et publier sur le forum ?
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  7. #7
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2022
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par luc_chivas Voir le message
    qu'y a t'il dans ces champs. vous pouvez les afficher et publier sur le forum ?
    Alors,

    - Le champ "ENTRY_TIMESTAMP" est un champ DATE de la base au format "10/11/2015 07:18"
    - Les paramètres en entrée "DateDeDebut" et "DateDeFin" sont des chaines "10/11/2015" et "11/11/2015"
    - Les champs "START_TIME" et "END_TIME" sont des champs VARCHAR2 de la base récupérés respectivement "06:00" et "12:00"

    Donc plusieurs formats.

    Voilà
    Merci

  8. #8
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Essayer de mettre Ctime() pour les heures

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (({Command.ENTRY_TIMESTAMP} >= {?DateDeDebut} & " " & ctime({Command.START_TIME})) AND ({Command.ENTRY_TIMESTAMP} <= {?DateDefin}) & " " & ctime({Command.END_TIME})))
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  9. #9
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2022
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci, cela fonctionne bien mieux, mais je pense que j'ai toujours un problème de formatage de la date.

    1- Est-ce que je peux forcer le format de la date pour le TIMESTAMP ainsi que pour la DateDeDebut et la DateDeFin soit au format "DD/MM/YYYY" avec une fonction du type ToText?

    2- Comment ajouter 1 jour à ma date de fin en fonction d'un critère?
    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {Command.ENTRY_TIMESTAMP} <= {?DateDefin}  + (if {?PeriodeFin} ='Nuit' then return 1 else 0) & " " & ctime({Command.END_TIME})
    c'est juste pour expliquer ce que je souhaiterai faire.

    Merci

  10. #10
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    le format de date pour être reconnu dépend de la configuration de ta base de données donc doit rester tel quel.
    Si c'est pour de l'affichage, tu va trouver cela dans la mise en forme du champs ou de la formule
    Regarde la fonction dateadd et sans faire de test dans ta formule, en cas de jour, tu rajoutes 0 jour en cas de 1 tu rajoutes 1 jour

    Dans ton paramètre Statique que tu vas appelé Jour/Nuit
    Valeur = 0 Description Jour
    Valeur =1 Description Nuit
    Invite avec Description Uniquement Vrai
    Invite Facultative Faux
    Valeur par defaut 0
    Autoriser les valeurs personnalisées Faux
    et peux faire Afficher la valeur ou la description "Afficher la Description" si tu veux afficher ce paramètre sur ton rapport
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  11. #11
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2022
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci, je ferai le test et vous tiens au courant

  12. #12
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2022
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par DEV_CT_01 Voir le message
    Merci, je ferai le test et vous tiens au courant
    Après plusieurs tests et tentatives de comparaison de date, voici le résultat:
    Explication:
    Le but est d'extraire des données de la base (Date) comprise entre (Date1,heureDebut) et (Date2,heureFin)

    La variable "Date" est au format Date dans la base.
    La variable "Date1" est un paramètre d'entrée qui est une chaîne de caractère au format "DD/MM/YYYY".
    La variable "heureDebut" et "heureFin" sont des paramètres d'entrée qui sont des chaînes de caractère au format "HH:MM".


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (  DateTimeValue ({Date}) in (
              Datetime(CDate({Date1}),ctime({heureDebut}))
            ) 
        to (
              Datetime(CDate({Date2}),ctime({heureFin})) 
             )
    )
    Merci Luc pour ton aide.
    Voilà j'espère que cela peut aider d'autres personnes.

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

Discussions similaires

  1. Requètes avec comparaison de date
    Par phoque.r dans le forum Requêtes
    Réponses: 2
    Dernier message: 12/04/2007, 16h01
  2. Réponses: 7
    Dernier message: 12/01/2007, 11h09
  3. souci avec une comparaison de date
    Par Ludo75 dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 20/02/2006, 15h59
  4. [DEBUTANT]Comparaison sur date et heure
    Par tripper.dim dans le forum Oracle
    Réponses: 15
    Dernier message: 15/11/2005, 18h25
  5. Date nulle dans une requete paramétrée avec TParameter
    Par denrette dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/06/2004, 08h37

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