Bonjour à tous,
J’ai à réaliser sous Crystal Report 2008 un rapport qui montre les temps d’utilisation d’une machine, code produit par code produit.
Je dispose d’une table principale A qui contient des opérations, avec date-heure de début et date-heure de fin (plus le code du produit fabriqué), et j’ai donc pu créer un rapport très simple.
Cette table principale A contient environ 5000 occurrences.
Les opérations sont longues, et peuvent s’étaler sur plusieurs jours.
Or, au beau milieu d’une opération de production, la machine a pu être arrêtée pour maintenance (on considère que c’est par jours entiers, de 0h du matin à 24h du soir).
Ces jours d’arrêt maintenance sont contenus dans une table B très simple, aujourd’hui pleine d’une centaine de dates, chaque occurrence de la table étant réduite à un seul champ Date-heure, dont seule la partie date est remplie.
Je souhaite montrer les temps d’utilisation de la machine, code produit par code produit, en soustrayant du temps « elapse » de l’opération, le temps pendant lequel la machine a été arrêtée pour maintenance.
Du fait de la durée de l’opération, il se peut que le jour d’arrêt maintenance « tombe » entre les 2 dates, donc un lien de tables « = » ne convient pas.
Pour une opération donnée, je peux facilement lister les jours d’arrêt maintenance postérieurs à la date-heure de début, et antérieurs ou égaux à la date-heure de fin.
Sous Excel, en VBA, la programmation serait simple.
Sous Crystal Report version 2008, quelle technique utiliseriez-vous pour produire ce rapport simple, avec la meilleure rapidité d’exécution (il tourne 2 fois par jour sur une machine saturée) ?
Je remercie d’avance toute personne qui prendra le temps de me conseiller.
Cordialement.
Partager