DataReport au secours :)

Résolu
Chocker Messages postés 11 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 29 juin 2007 - 16 avril 2007 à 12:10
Chocker Messages postés 11 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 29 juin 2007 - 16 avril 2007 à 14:31
Bonjour les Gens,

Voila je me tourne vers vous, car j'ai quelques soucis avec le datareport de VB6

1 - Le descriptif

Je travaille sur une base Access.
Il y a une table RA, RAD et une table Collabo

TABLE RA
IdRa            // l'id          
DateRa        // la date du rapport
IdCollabo    // l'id référence du collaborateur
Depart         // tps de départ
Arrivee        // tps d'arrivee

TABLE RAD
IdRad         // l'id
IdRa           // l'id reference de RA
Activite       // l'activité faite
Duree         // la durée

TABLE Collabo
IdCollabo
Nom
Prenom

2 - Le souhait

Je souhaite faire un rapport dans lequel :
    - en entete de page : j'aurais un logo
    - en entente de groupe : les infos du collaborateur, date du rapport
    - en détail : le detail des activités de la journée du collabo
    - en pied de groupe : (la somme de la durée des activités de même type)  - ( la somme des temps depart, arrivee)

3 - L'existant

Pour tout ce qui est entete et détail pas de souci !
Dans mon DataEnvironment , j'ai une commande dont la requete est :
SELECT Collabo.Nom, Collabo.Prenom, RA.IdCollabo, RA.DateRA, Lieu.Lieu, RA.ValLieuDepart, Lieu_1.Lieu, RA.ValLieuArrivee, Activite.IdActivite, Activite.Reduit, RAd.NRapport, RAd.Client, RAd.HDebut, RAd.HFin, RAd.Duree FROM (Lieu AS Lieu_1 INNER JOIN (Collabo INNER JOIN (Lieu INNER JOIN RA ON Lieu.IdLieu RA.IdLieuDepart) ON Collabo.IdCollabo RA.IdCollabo) ON Lieu_1.IdLieu = RA.IdLieuArrivee) INNER JOIN (Activite INNER JOIN RAd ON Activite.IdActivite = RAd.IdActivite) ON RA.IdRA = RAd.IdRA WHERE Ra.IdCollabo=? and Ra.DateRA=?

-> Ca me liste toutes les informations concernant mon collabo et les activités qu'il a pu faire pendant sa journée

Le cumul que je souhaite afficher, me donne la requete suivante :

SELECT RA.IdCollabo, RA.DateRA, (Sum([RAd]![Duree])-([RA]![ValLieuDepart]+[RA]![ValLieuArrivee])) AS Expr1 FROM RA INNER JOIN RAd ON RA.IdRA = RAd.IdRA WHERE (RAd.IdActivite =1 ) GROUP BY RA.ValLieuDepart, RA.ValLieuArrivee, RAd.Duree,RA.IdCollabo, RA.DateRA

-> C'est la formule de calcul de mon cumul

4 - Le problème

Je ne vois pas comment faire pour que dans mon datareport je puisse mettre le résultat de ce cumul.
J'ai essayé de faire des relations, entre les commandes, d'extraire la structure, mais rien n'y fait !

En gros mon rapport devrait m'aficher

[Entete de page]
LOGO
[Fin Entete de page]
[Entete de groupe]
Mr X            le 16/04/07
Départ  : 30min
Arrivée : 30min

Activité    |   NbRapport    |    Détail    |    Durée
------------------------------------------------
[Fin Entete de groupe]
[Détail]
Bureau    |           1            |    néant     |    04:00
Client      |           1            |    X          |    01:00
[Fin Détail]
[Pied de groupe]
                                                             Cumul
[Fin de pied de groupe]
[Pied de page]
                                                      Page 1 sur 1
[Fin Pied de page]

Et le seul résultat que je suis arrivé à produire me donne:

[Entete de page]

LOGO

[Fin Entete de page]

[Entete de groupe 1]

Mr X            le 16/04/07

Départ  : 30min

Arrivée : 30min


Activité    |   NbRapport    |    Détail    |    Durée

------------------------------------------------

[Fin Entete de groupe 1]

[Détail]

Bureau    |           1            |    néant     |    04:00

[Fin Détail]
[Pied de groupe]


                                                             Cumul


[Fin de pied de groupe]

[Entete de groupe 1]


Mr X            le 16/04/07


Départ  : 30min


Arrivée : 30min



Activité    |   NbRapport    |    Détail    |    Durée


------------------------------------------------


[Fin Entete de groupe 1]

[Détail]
Client      |           1            |    X          |    01:00

[Fin Détail]

[Pied de groupe]

                                                             Cumul

[Fin de pied de groupe]

[Pied de page]

                                                      Page 1 sur 1

[Fin Pied de page]

VOILA !

Merci d'avance de votre aide
@+ Les Gens

3 réponses

Chocker Messages postés 11 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 29 juin 2007
16 avril 2007 à 14:31
Bon je reviens vous remercier, je n'ai pas trouver la réponse que je cherchais et je repasserais voir si de temps a autre si une réponse a été posté :)

En attendant voici la solution que j'ai trouvé pour remédier a mon probleme, a vrai dire c'est une solution bète et méchante :) LOL

J'ai simplement incorporé dans mon pied de page un control LABEL, que je mets a jour par code, juste avant de généré mon datareport

Merci encore à tous ceux qui ont essayé et essayeront de trouvé peut etre une meilleure méthode :)

@+ Les Gens
3
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
16 avril 2007 à 12:26
Salut et bravo pour l'explication car un datareport, c'est pas facile a comprendre pour les autres.
Au debut, je croyais avoir a faire a une personnes qui veux qu'on lui fasse tout mais je vois que tu a bien entamer le truc.
C'est rare, donc merci bien.

Sinon, pour ton pb, tu veux mettre dans un controle nommé cumul, le resultat de ta requete, c'est ca ?
0
Chocker Messages postés 11 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 29 juin 2007
16 avril 2007 à 12:37
Nan promis j'ai déja essayé avant de venir ici, je demande tres rarement de l'aide car je trouve qu'en cherchant on comprend mieux ... mais bon passons

En fait le cumul est le résultat de la requete comme je l'ai inscrit plus haut
le probleme que je rencontre , c'est qu'apparement dans un Datareport tu peux pas mettre ce que tu veux ou tu veux !

Si je ne faisais qu'un rapport concernant l'activité , et afficher le détail ca irait tres bien !
Mais ce foutu cumul me fout en l'air !!

Les seuls champs qui lient mon cumul a mon Rapport, sont la date du rapport (RA.DateRA)
et l'id du collaborateur(RA.IdCollabo)
Apres c'est tout bidon, c'est juste une somme avec un regroupement

Mais le placement , en bas de page, la se situe tout le problème !!!!

Je voulais au départ rajouter un champs somme fournit par le datareport et calculer le cumul, mais je m'interesse plus à la solution d'integrer le résultat fournit par ma requete :)
Si je dois le calculer, faudra je fasse plein de condition car certain cumul d'activité (que je ferais par la suite) comprennent des cumul d'activité par exemple pour l'activité 3 et 4 , il n'y a qu'un seul cumul.

Je sais que ce n'est pas evident de comprendre mes expliquations, mais je fais au mieux :)
0
Rejoignez-nous