[ACCESS] relations ?

Résolu/Fermé
guitarhero77 Messages postés 86 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 février 2008 - 10 avril 2007 à 15:19
guitarhero77 Messages postés 86 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 février 2008 - 11 avril 2007 à 11:38
Bonjour à tous les mambres du forum

me revoilà avec ma gestion des demandes de travaux lol
donc voilà je gère des demandes d'intervention en fct des batiments des types de travaux ...
j'ai un champs "état" qui a une valeur en cours ou terminé si la travaux est exécuté ou pas.
chaque demande à un cham iD qui est la clé primaire et identifie de manière unique la demande

je sais compter le nombre de demandes en cours, le nombre de demands terminées en faisant un regroupement par bâtiment, de manière indépendante.
mais quand je crée une nouvelle requete en mélangeant le tout cela me donne des chiffres érronées car cela fait des combinaisons avec les regroupment on dirait

alors voilà ma quesion comment obtenir ds une meme requete le nom du batiment, le nombre de demande en cours et le nombre de demande terminés pour chaque batiment

est ce un pb de relations ? ou faut til s'y prendre autrement ?

merci d'avance

8 réponses

blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
10 avril 2007 à 15:34
Salut,

elle ressemble à quoi ta requête...? Peut-être qu'access t'a mis des relations en trop...

Car tu peux en créer une qui sera la juxtaposition de deux lignes via le mot-clé UNION...
0
guitarhero77 Messages postés 86 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 février 2008 9
10 avril 2007 à 16:36
ben en fait j'au une requete avec les 3 champs suivants :
ID (avec un compte); batiment (regroupement) et état avec critère "en cours"(regroupement)

et j'ia la meme avec le critère terminé çà m efait 2 requetes différentes qui me compte bien les demandes terminées d'un coté et celle en cours de l'autre

(le tout de la meme table "travaux"

mais qd je crée une 3ème requete avec les champs batiment.travaux, comptDeID.requete_demande_cours et compteDeID.requete_demandes_terminées ben c'est là le hic :(((
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
11 avril 2007 à 09:57
Tu peux afficher les SQL ?
0
guitarhero77 Messages postés 86 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 février 2008 9
11 avril 2007 à 10:05
SELECT Count(Travaux.ID) AS CompteDeID, Travaux.Bâtiment, Travaux.Etat
FROM Travaux
GROUP BY Travaux.Bâtiment, Travaux.Etat
HAVING (((Travaux.Etat)="En cours"));

pour la 1ère, la 2ème est identique avec "terminé" au lieu de "en cours"

et ma requete pour voir les 2 resulat en meme temps est :

SELECT Requête1.CompteDeID, Requête2.CompteDeID, Travaux.Bâtiment
FROM Requête1, Requête2, Travaux;
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
11 avril 2007 à 10:21
Je crois qu'il ne doit pas aimer 'Bâtiment' présent dans les trois tables en même temps, il ne sait sûrement pas quoi choisir...

Tu pourrais m'envoyer ta base que je regarde comment on peut simplifier la requête, parce qu'à mon avis, il va falloir feinter ?

denis point mail point list chez free point fr
0
guitarhero77 Messages postés 86 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 février 2008 9
11 avril 2007 à 10:25
ok sympa pourquoi pas :) j'essaye de te selectionner que l'essentiel car sinon çà fait 5 mo je crois le total :(
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289 > guitarhero77 Messages postés 86 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 février 2008
11 avril 2007 à 10:27
Tu colles en .zip...

Access est gourmand en place non utilisée (dû à sa gestion)...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
guitarhero77 Messages postés 86 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 février 2008 9
11 avril 2007 à 10:31
c'est vrai tu as raison c'est mieux de tout envoyer et la compression est impressionante j'ai vu !

c'est parti sur ton mail, merci
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
11 avril 2007 à 11:05
Pas de jointures entre les tables -> produit cartésien...

Avec des jointures et quelques trucs pour mettre des 0 quand c'est pas renseigné :
SELECT DISTINCT iif(isnull(Requête1.CompteDeID),0,Requête1.CompteDeID) AS [En cours], iif(isnull(Requête2.CompteDeID),0,Requête2.CompteDeID) AS [Terminés], Travaux.Bâtiment AS [Bâtiment]
FROM Requête1 RIGHT JOIN (Requête2 RIGHT JOIN Travaux ON Requête2.Bâtiment = Travaux.Bâtiment) ON Requête1.Bâtiment = Travaux.Bâtiment
ORDER BY Travaux.Bâtiment;
Y'a juste un truc pas cool, c'est que des travaux sont renseignés pour des bâtiments dont le nom est vide, ça doit venir d'un problème dans ton modèle de données, mais sinon, ça a l'air correct, à toi de confirmer...
0
guitarhero77 Messages postés 86 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 février 2008 9
11 avril 2007 à 11:15
je connaissais pas les jointures ? c'et les relations ou c'est encore autre choses ?? merci en tt cas je vais essayer çà de suite

pour le fait que les batiment ne soient pa renseignés ben...çà vient des gens qui ne remplissent pas la demande complètement ;) çà arrive ds l'administration lol
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
11 avril 2007 à 11:27
Les relations sont mises entre des éléments communs de tables différentes d'un modèle relationnel et l'utilisation de ces relations dans les requêtes passe par les jointures.

çà vient des gens qui ne remplissent pas la demande complètement
Et bien justement, tu DOIS l'imposer... C'est quand même le minimum que d'indiquer dans quel bâtiment doit avoir lieu l'intervention !

Tu mets une liste déroulante, comme ça, pas de faute d'oretografe, pas de majuscules/minuscules, tout le monde saisit le même nom...
0
guitarhero77 Messages postés 86 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 février 2008 9
11 avril 2007 à 11:38
oui ds ma base acces g fait des listes déroulantes pour le saisir masi la saisie c'est moi qui la fait et reprenant des feuille papier remplies par les gens justement et tu vois le minimum ils connaissent pas lol ;)

tant que je tiens une question stp: j'ai mon bel histogramme qui me fait le total des demandes par baitment en juxtaposant désormaisq les en cours et terminées pour représenter au total l enombre final

je sais faire apparaitre la valeur des en cours sur le graph idem our les terminées mais comme pourrai je faire apparaitre au dessu sde chaque bâton le valeur ajoutée des 2 . (çà serait mieux)

merci
0
guitarhero77 Messages postés 86 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 février 2008 9
11 avril 2007 à 11:20
alala qu ec'est bo de tout connaitre en info lol ! çà marche nickel !!! merci ! je vais renommes les requetes et changer les noms comme il faut et c'est super ! je vais donc pouvoir faire ce que je voulais : un joli formulaire graphique croisé dynamique avec la répartition des demandes en fct des batiment , mais pas simplement comme je l'avais fait, en cumulant les demandes en cours et terminées pour faire la décomposition, c'est parlant de suite à l'oeil nu !!!

(et je v étendre çà à aux autres répartitions

merci encore et comme j'ai mille question à poser a bientot ss doute ;
0