Access problème compraison de champs

Al3xandr3 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tout le monde,

J'ai pas mal progressé sur mon projet de base de donnée, mais voilà que je bute sur un petit problème.

Je souhaite comparer deux champs à un troisieme de manière à éliminer du troisième le valeurs qui ne sont pas égales à celles deux premiers.

Le résultat escompté serait donc d'avoir une correspondance des champs de Tutu avec ceux de Toto et Tata, peu importe s'il y a redondance.

Toto{1;5;12;3} = Champ 1 on le compare à Tutu
Tata{10;7;5;1} = Champ 2 on le compare à Tutu
Tutu{1;...;52} = Champ 3

Moulinette de comparaison....

Tadam j'aurais un tableau qui ressemblerait à ça si j'étais doué lol :

Toto{1;3;5;0;0;12}
Tata{1;0;5;7;10;0}
Tutu{1;3;5;7;10;12}


Voici mon code:

SELECT [recap].[semaine], Count([recap].[vas]) AS [Total Vas], Count([recap].[contrat site]) AS [Total Contrat de Site]
FROM recap
WHERE RECAP.VAS Is Not Null Or recap.[contrat site] Is Not Null And [vas] In (SELECT [semaine] FROM [recap])
GROUP BY [recap].[Semaine];


Le résultat que j'ai est presque bon, mis à part qu'il me fait pas les totaux, et que sur le champs [semaine] il me prend que les 9 premières [semaines] de l'année alors que les valeurs des champs [vas] et [contrat de site] sont comprises (pour mes tests) entre 10 et 17.

Initialement, j'avais scripté ça comme ça:

SELECT Count(*) AS [VAS S10]
FROM Avancement
WHERE ((([Avancement].[VAS])="S10"));


Le problème c'est qu'avec un truc comme ça je suis obliger de me taper 52 fois cette requête à ré-écrire, ainsi que pour chaque jalons de mon projet, pas vraiment glop en somme -_-


Je me suis planté dans mon code? Est-ce grave docteur?

Merci d'avance pour vos réponses.

Alex

13 réponses

Al3xandr3 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   2
 
Up les gars need help plz :)

C'est pas faute de ne pas avoir chercher.
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
Bin oui, mais c'est pas simple, c'est le WE, et Blux ,n'est pas là...

De plus, tu nous fais "prendre le train en marche": tout le monde n'a pas suivi tes posts précédents et sans connaitre ta structure, c'est pas possible...

As-tu suivi le conseil de Blux de ne pas faire 52 colonnes pour les semaines, par exemple?

En plus, je trouve que l'exposé de ton problème ne correspond pas bien à l'exemple que tu donnes où il semble que toutes les colonnes sont présentes même si les valeurs sont = à 0.

As-tu jeté un coup d'oeil du coté des tableaux croisés dymaniques?

Bref, pourrais-tu mieux nous exposer la structure de tes tables et ce qu tu veux en faire?
0
Al3xandr3 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   2
 
Pour remettre tout le monde dans le contexte.

Voila l'analyse type de mon projet:

Découper en plusieurs étapes la conception d'une voiture, de manière à avoir un état d'avancement général.

Chaque étapes ont pour valeur une Semaine notée SXX exemple: S10.

J'ai fait la MCD en utilisant la méthode MERISE, j'ai fait même les relation de cardinalité.

Voici le MLDR:

SITE (REF, adresse, commentaire)

Entreprise (id_entreprise, adresse, telephone)

Etape(Semaine, Jalon1, ..., Jalon N)

Ce que je veux obtenir c'est le compte des N jalons de chaque sites répartis sur N semaines, pour etre encore plus clair voici un exemple:

Pour la semaine 10 j'ai Jalon1 = X
Pour la semaine 13 j'ai Jalon2 = Y
Pour la semaine 12 j'ai JalonN = Z
Ainsi de suite...

Comme tu as pu le voir precédemment, j'ai essayé plusieurs requetes SQL.

La premiere est très bien sauf qu'il faut la répéter N fois pour chaque semaines de l'année.

La seconde approche de ce que je recherche.

J'arrive à avoir les semaines dans mon premier champ, ainsi que les jalons, mais le résultat ne colle pas du tout.

Exemple de ce que ma requete m'annonce

Semaine 1 il me compte 1 jalon1 du site 1 pour cette semaine
Semaine 2 il me compte 1 jalon1 du site 2pour cette semaine
Semaine 3 il me compte 1 jalonN du site Npour cette semaine

Alors que le jalon1 du site 1, ainsi que le jalon1 du site 2 et enfin le jalonN du site N sont identifiés respectivement sur les semaines 14,14 et 16.

Ce qui devrait me donner:

Semaine 14 2 jalon1 et Semaine 16 1 jalonN

Je peux pas être plus clair.

J'ai essayer de faire table indexée pour la semaine c'est à dire un champ Semaine, un index, et 52 enregistrements, ca donne rien non plus.

J'ai été jeter un coup bon coup d'oeuil sur les requêtes d'analyses croisée, mais pareil.

J'ai essayé cette requête que j'ai pompé sur un site

TRANSFORM Count(Avancement.VAS) AS Totalvas
SELECT Avancement.Vas, semaine.id_semaine
FROM Avancement, semaine
GROUP BY Avancement.vas
PIVOT Semaine.id_semaine;

Mais j'ai du m'y prendre comme un branque, comme j'ai expliqué précedemment, c'est la première fois que je fais du sql access and co.

Voila j'espère avoir été plus clair que sur mon précédent post.

Alex
0
Al3xandr3 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   2
 
Ti up du post, je reviens de la fnac avec des bouquins access et sql, si vous avez des tuyaux, help me ca serait cool.

Alex
0

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

Posez votre question
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
Désolé, c'est peut-être moi qui ai des problèmes de "comprenure" mais je ne vois pas de relations entre tes tables.

Comment fais-tu le lien, par exemple entre ce que tu appelles un jalon et l'entreprise ou le site, pourquoi et comment y a-t-il plusieurs jalons par semaine et à quoi se réfèrent-ils?

Si je postules que un "jalon" est une étape définie de la construction et que tu veux savoir, par site, combien tu as de voitures à tel jalon pour telle semaine, est-ce que j'ai compris ou est-ce autre chose que tu veux faire?
0
Al3xandr3 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   2
 
Oui, en gros je veux savoir pour la Semaine 14 par exemple combien j'ai de nombre de jalon numéro qui ont été fait etc... pour les autres semaines et jalons.

Voila :)
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
J'imagine donc que tu pars de la table "Etape", dans laquelle tu devrais avoir un lien avec la table site et un champ date.

On imagine que chaque semaine, chaque site te communique (ou que tu te procures) le nombre de véhicules à chaque stade.

Tu pourras extraire de ces données, le nombre de véhicules à chaque stade (jalon) pour tout ou partie des sites (c'est peut-être là qu'intervient la notion d'entreprise) à une date donnée, le nombre de véhicules aux différents stades aux différentes dates par site ou par entreprise (si ma déduction est correcte) mais pas le nombre de véhicules par site, semaine et stade (il faudrait un tableau tridimensionnel)

et les résultats, tu les souhaites comment? Dans une feuille de données ou dans un état?

Tu sais que les états permettent des regroupements et qu'on pourrait présenter facilement un tableau par site, par semaine ou par jalon.

suis-je sur la bonne voie?
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
Attends, je relis tes posts et je ne comprends plus:

Si je prends la requête que tu proposes dans le premier post:

SELECT [recap].[semaine], Count([recap].[vas]) AS [Total Vas], Count([recap].[contrat site]) AS [Total Contrat de Site]
FROM recap
WHERE RECAP.VAS Is Not Null Or recap.[contrat site] Is Not Null And [vas] In (SELECT [semaine] FROM [recap])
GROUP BY [recap].[Semaine];

et que je compare à la structure que tu communiques dans le post N°3:

SITE (REF, adresse, commentaire)

Entreprise (id_entreprise, adresse, telephone)

Etape(Semaine, Jalon1, ..., Jalon N)

je ne vois aucun champ ou table communs.
Je ne vois vraiment pas comment y comprendre quelque chose...
0
Al3xandr3 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   2
 
Parce que j'ai tout pété et tout recommencé, en plusieurs table, ce que je demande depuis le début c'est comment en sql, je peux me démerder pour avec le compte de plusieurs action jalon enfin ce que tu veux sur plusieurs semaine.

Blux m'avait donné ça initialement

SELECT Count(*) AS [VAS S10]
FROM Avancement
WHERE ((([Avancement].[VAS])="S10"));

Ca marche très bien, mais faut que je la tape un nombre incalculable de fois.
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
Tu te rends compte que, depuis qu'on "discute", je ne sais toujours pas d'où tu pars ni où tu veux aller. Alors, si tu demandes comment y aller, moi, je ne sais pas...

Par exemple, quand tu écris :"Chaque étapes ont pour valeur une Semaine notée SXX exemple: S10" je ne vois pas bien concrètement, comment ça s'articule pour toi avec la notion de "jalon".

Quelle est la structure de tes tables (pas toutes, celles qui sont concernées par ce que tu veux faire maintenant) et leurs relations?

A quoi correspondent les noms des champs? (clé primaire, externe,champ calculé...)?

Que veux-tu obtenir: tableau croisé dynamique, état, comparant quoi à quoi, sur quels critères?

J'ai peut-être tort de te poser plusieurs questions: jusqu'à présent tu ne réponds qu'à la dernière...
0
Al3xandr3 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   2
 
File moi un mail que jt'envoie le tableau excel qu'on m'a filé. Du quel je dois faire cette base de donnée.
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
zenon.321@hotmail.com
0
Al3xandr3 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   2
 
Je t'ai ajouté
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
Il doit y avoir un problème, je n'ai rien reçu...
0