Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports
Crystal Reports Forum d'entraide sur Crystal Reports. Avant de poster --> FAQ Crystal, Tutoriels Crystal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/04/2007, 13h34   #1
Invité de passage
 
Inscription : novembre 2004
Messages : 8
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 8
Points : 1
Points : 1
Par défaut [XI] insertion de requete / Sum / regroup / agregat

Bonjour les gens,

Je me tourne vers vous car j'ai récupéré CR XI et bon je m'y connais pas trop
en tout cas, je souhaite creer un rapport !
J'ai une base de données Access qui me sert de source de données dont voici un bref apercu, je ne met pas tous les champs mais juste ceux nécessaires, pour que vous puissiez m'aider

Table RA
IdRa : l'id
DateRa : la date ( dd/mm/yyyy )
ValLieuDep : une valeur en temps (hh:mm)
ValLieuArr : une valeur en temps (hh:mm)

Table Rad
IdRad : l'id
IdRa : l'id reférence de la table RA
Duree : une valeur en temps (hh:mm)

Ce qui m'interesse en fait c'est une sorte de cumul qui s'affichera en bas de page de mon rapport :

Somme(Duree) - (ValLieuDep + ValLieuArr)

Pour ceux qui veulent comprendre, je calcule la somme des durées de travaux effectués moins l'addition du temps de trajet aller-retour

Et donc j'aimerais mettre ce résultat en bas de page de mes rapports, sachant que dans le détail, j'ai en fait le listing des activés de la journée.

Dans Access , pas de probleme pour faire la requete, qui me donne :

SELECT (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;


Mais avec CRXI, je ne vois meme pas ou créer cette requête, j'ai essayé dans les 'Expression SQL', ou 'Formules' mais je rame

Please Help

P.S : si besoin d'infos supplémentaires, n'hésitez pas !!!
Chocker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 14h52   #2
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 20
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 20
Points : 14
Points : 14
Bonjour, déjà ce que tu peux faire c'est lorsque tu crées ton rapport, tu choisis juste la table que tu souhaites puis ensuite tu vas dans "Champs de Formule" et tu rentres ta formule Sum({Duree}) - ({ValLieuDep} + {ValLieuArr}). Puis tu mets la formule que ta crées dans la section "Pied de page du rapport". Voila pour cette solution sinon c'est lorsque tu veux créer un nouveau rapport tu cliques sur "Rapport Vide" puis ensuite tu reprends la connexion que tu as déjà utilisé donc pour toi base accs et tu cliques sur "ajouter une commande" puis tu tapes ta requête sql et ton rapport comprendra que les champs que tu as spécifié dans la requete. J'espere que ce que je t'ai dis t'aidera. Bon courage.
chrischros10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 15h16   #3
Invité de passage
 
Inscription : novembre 2004
Messages : 8
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 8
Points : 1
Points : 1
Par défaut La suite

Deja merci de répondre ca fait plaisir

Mais malheureusement, ca marche pas

1) il accepte pas d'utiliser la fonction Sum sur une donnée de format Date/heure
ca ne fonction pas comme dans Access, on dirait :S

2) est ce que si je crée dans Access, ma requete et que je crée mon Rapport sur cette requete, ca pourrait etre plus efficace ?
Si oui, comment faire apres pour intégrer des parametres, du style calculer mon cumul en fonction d'une date donnée ?

dans Access je peux tres bien dire :

SELECT (Sum(RAd!Duree)-(RA!ValLieuDepart+RA!ValLieuArrivee)) AS Expr1
FROM RA INNER JOIN RAd ON RA.IdRA = RAd.IdRA
WHERE (((RAd.IdActivite)=1) AND ((RA.DateRA)=#02/04/2007#))
GROUP BY RA.ValLieuDepart, RA.ValLieuArrivee, RAd.Duree;

Si tu veux, le parametre de date peut changer !

Dans Access je peux donc dire :

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

Mais si j'importe ca dans CR, va t'il comprendre ?
et s'il ne comprend pas y a t'il moyen de lui faire comprendre ?

Bon voila j'ai déja fait un autel a ton nom, donc merci lol
Chocker est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h33.


 
 
 
 
Partenaires

Hébergement Web