Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
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 25/01/2012, 12h35   #1
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Par défaut requête d analyse croisée selon plusieurs requêtes

bonjour,

Je patoge depuis hier sur une requete d analyse croisee qui a pour source plusieurs requetes.
Deja est ce que c est possible de réaliser ça.?
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 14h16   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
Salut,

c'est probable, quelle est la question sous-jacente ?

un peu de SQL pour nous aider à te proposer des solutions ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 15h31   #3
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Je vais essayer d'expliquer "rapidement" le principe de ma base de données :

J'ai une table "Saisie inter", dedans je renseigne les interventions réalisées par mon Centre ( N°rapport, date,jours,heures, sinistre, un champ multi pour les SP qui ont participés à cet intervention, un champ multi pour les SP qui ont une réponse sirène (terme pompier), un autre champ multi au cas ou le départ est annulé).

Par la suite j'ai crée une requête pour déterminer les inters de chaque SP par "catégorie de sinistre"(lié au sinistre de ma table "saisie inter".
Il existe 4 catégories :SAP - ACC - INC - OPD

J'aimerai une analyse qui me dit :
Tel SP à fait tant de SAP, tant de ACC, tant de INC et tant de OPD avec le total.

Le souci est d'ajouter le nombre de "Réponse sirène" et de "départ annulé" à tout ça

J'ai bien crée une requête pour compter le nombre de Réponse sirène et Départ annulé mais je n'arrive pas à l'ajouter à mon analyse

Merci de votre aide

Manu
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 15h51   #4
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
En passant par une requete intermediaire, tu n'y arrives pas ?

Un peu de SQL eventuellement pour nous aider ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 15h58   #5
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Code :
1
2
3
4
5
TRANSFORM Count([Req_Récap Catégorie sinistre].[N° rapport]) AS [CompteDeN° rapport]
SELECT [Req_Récap Catégorie sinistre].[Table_Saisie inter].Matricule.Value, Count([Req_Récap Catégorie sinistre].[N° rapport]) AS [Total de N° rapport]
FROM [Req_Récap Catégorie sinistre]
GROUP BY [Req_Récap Catégorie sinistre].[Table_Saisie inter].Matricule.Value
PIVOT [Req_Récap Catégorie sinistre].Catégorie;
voici le code mon analyse actuel sans Réponse sirène et départ annulé
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 16h16   #6
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
et utiliser cette requete (nommée ici arbitrairement Pioupiou1 ) avec le reste de tes champs du style
Code SQL :
SELECT Pioupiou1.*,R2.F1,R2.F2 FROM Pioupiou1 INNER JOIN R2 ON ...
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 16h48   #7
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Euh là ça dépasse un peu mes limites.....

Je dois placer ça ou ?
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 17h42   #8
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 256
Points : 5 256
Salut,

Tu as essayé un truc du genre pour les valeurs de ta requête:

Code sql :
1
2
TRANSFORM Count([N° rapport]) + Count([Reponse_Sirene]) + Count([Depart_Annule]) AS [Compte]
...


Sous réserve que les noms des champs soient corrects
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 10h42   #9
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Voilà ce que j'ai mis :
Code :
1
2
3
4
5
TRANSFORM Count([Req_Récap Catégorie sinistre].[N° rapport])+ Count([Req_départ annulé]![Table_Saisie inter.Départ annulé.Value]) + Count([Req_ Réponse sirène]![Table_Saisie inter.Réponse sirène.Value]) AS [CompteDeN° rapport]
SELECT [Req_Récap Catégorie sinistre].[Table_Saisie inter].Matricule.Value, Table_SP.Nom, Table_SP.Prénom, Count([Req_Récap Catégorie sinistre].[N° rapport]) AS [Total de N° rapport]
FROM [Req_Récap Catégorie sinistre] INNER JOIN Table_SP ON [Req_Récap Catégorie sinistre].[Table_Saisie inter].Matricule.Value = Table_SP.Matricule
GROUP BY [Req_Récap Catégorie sinistre].[Table_Saisie inter].Matricule.Value, Table_SP.Nom, Table_SP.Prénom
PIVOT [Req_Récap Catégorie sinistre].Catégorie;
Et j'ai un message :

Code :
Erreur de syntaxe (opérateur absent) dans l'expression << Total de N° rapport+expr1006+expr1007>>.
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 14h24   #10
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 256
Points : 5 256
Re,

Pour faire référence à un champ d'une table dans le sql d'une requête, on utilise:

Ou "Table1" désigne le nom d'une table et "champ1" le nom d'1 champ de cette table


Pour faire référence à un champ d'une requête dans le sql d'une requête, on fait:

Ou "Requete1" désigne le nom d'une requête et "champ1" le nom d'1 champ de cette requête.

Il n'y a pas d'autre possibilités
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 14h55   #11
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Re,

Merci pour votre aide.

J'ai toujours le même souci et le même message d'erreur...
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 16h44   #12
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 256
Points : 5 256
Salut,

Ta sous-requête "[Req_Récap Catégorie sinistre]" s'exécute bien ?
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 20h23   #13
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Oui je n'ai pas de souci avec.

Voici le code SQL :

Code :
1
2
3
SELECT [Table_Saisie inter].[N° rapport], [Table_Catégorie sinistre].Catégorie, Table_SP.Nom, Table_SP.Prénom
FROM Table_SP INNER JOIN (([Table_Catégorie sinistre] INNER JOIN Table_Sinistre ON [Table_Catégorie sinistre].N° = Table_Sinistre.Catégorie) INNER JOIN [Table_Saisie inter] ON Table_Sinistre.N° = [Table_Saisie inter].Sinistre) ON Table_SP.Matricule = [Table_Saisie inter].Matricule.Value
ORDER BY [Table_Saisie inter].[N° rapport];
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 20h32   #14
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 256
Points : 5 256
Re,

Enlève les .value

Mets [N°] plutôt que N°

Sinon,

ton expression dans ton message d'erreur tu la retrouves ou ?
Citation:
<< Total de N° rapport+expr1006+expr1007>>
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 20h41   #15
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 447
Points : 4 447
bonsoir manusp, User,

Citation:
Envoyé par User Voir le message
Enlève les .value
A moins que ce champ soit un champ multi-valué, cette merveilleuse spécificité disponible depuis la version 2007 d'Access.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 20h48   #16
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 256
Points : 5 256
Citation:
Envoyé par f-leb Voir le message
bonsoir manusp, User,



A moins que ce champ soit un champ multi-valué, cette merveilleuse spécificité disponible depuis la version 2007 d'Access.
C'est sérieux ça. une merveille ?.. si j'avais su je me serais offert cette version depuis le temps que je ne connais que 2003
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 21h21   #17
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Et oui c'est un champ multi
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 22h16   #18
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Je vais tout remettre car là je suis perdu...

Une requête Récap catégorie/Sinistre qui me dit pour tel inter j'ai tel catégorie et tel pompier qui a participé
Code :
1
2
3
SELECT [Table_Saisie inter].[N° rapport], [Table_Catégorie sinistre].Catégorie, [Table_Saisie inter].Matricule.Value
FROM Table_SP INNER JOIN (([Table_Catégorie sinistre] INNER JOIN Table_Sinistre ON [Table_Catégorie sinistre].N° = Table_Sinistre.Catégorie) INNER JOIN [Table_Saisie inter] ON Table_Sinistre.N° = [Table_Saisie inter].Sinistre) ON Table_SP.Matricule = [Table_Saisie inter].Matricule.Value
ORDER BY [Table_Saisie inter].[N° rapport];
Ensuite une requête Réponse sirène qui me dit tel inter j'ai tel SP qui à répondu pour une réponse sirène :
Code :
1
2
3
SELECT [Table_Saisie inter].[N° rapport], [Table_Saisie inter].[N° CTA], [Table_Saisie inter].[Date intervention], [Table_Saisie inter].Sinistre, [Table_Saisie inter].[Réponse sirène].Value
FROM [Table_Saisie inter]
ORDER BY [Table_Saisie inter].[N° rapport];
Sur cette requête j'ai crée une requête Nb RS pour compter le nombre de Réponse sirène par SP :
Code :
1
2
3
SELECT [Req_ Réponse sirène].[Table_Saisie inter].[Réponse sirène].Value, Count([Req_ Réponse sirène]![Table_Saisie inter.Réponse sirène.Value]) AS [Nb RS]
FROM [Req_ Réponse sirène]
GROUP BY [Req_ Réponse sirène].[Table_Saisie inter].[Réponse sirène].Value;
J'ai fait la même chose pour les départs annulés :
Code :
1
2
3
SELECT [Table_Saisie inter].[N° rapport], [Table_Saisie inter].[N° CTA], [Table_Saisie inter].[Date intervention], [Table_Saisie inter].Sinistre, [Table_Saisie inter].[Départ annulé].Value
FROM [Table_Saisie inter]
ORDER BY [Table_Saisie inter].[N° rapport];
Et pour compter aussi
Code :
1
2
3
SELECT [Req_départ annulé].[Table_Saisie inter].[Départ annulé].Value, Count([Req_départ annulé]![Table_Saisie inter.Départ annulé.Value]) AS [Nb DA]
FROM [Req_départ annulé]
GROUP BY [Req_départ annulé].[Table_Saisie inter].[Départ annulé].Value;
J'aimerais au final avoir une requête pour me dire :
Tel SP est intervenu tant de fois pour les catégories (ACC-SAP-INC-OPD) avec le total et indiquer que mon SP à fait tant de Réponse sirène et tant de Départ annulé

Voilà

Merci à vous
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 12h11   #19
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 447
Points : 4 447
bonjour,

Citation:
Envoyé par User Voir le message
C'est sérieux ça. une merveille ?..
Je suis très sérieux, comment peux-tu en douter ?

Citation:
Envoyé par manusp Voir le message
... et indiquer que mon SP à fait tant de Réponse sirène et tant de Départ annulé
Dans ta table de saisie Saisie_inter(…, matricule.value, …, réponse sirène.value, Départ annulé.value, …),
les champs [réponse sirène] et [Départ annulé] sont aussi multi-valués. Comment tu indiques que c’est tel SP qui a fait une réponse sirène ou tel SP qui a fait un départ annulé ? Il y a quoi dans ces champs ?
Tu pourrais donner un exemple de saisie ?  

[EDIT]
Citation:
Envoyé par f-leb
Il y a quoi dans ces champs ?
Ah, il y a aussi des matricules de SP, c'est ça ?
[/EDIT]
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 10h17   #20
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
En fait, j'ai une table "SP" avec les champs :
- Matricule (clé)
- Nom
- Prénom

Cette table est relié au champ Matricule.value de la table Saisie Inter. Ce champ est un multi je coche les SP qui ont participés à l'intervention.

La table Saisie Inter est constitué de plusieurs champs :
N° rapport (clé)
N° CTA
Date
Sinistre qui est relié à une table pour savoir la catégorie (SAP-ACC-INC-OPD)
Matricule.Value (champ multi)
Réponse Sirène.Value (champ multi) source table SP
Départ annulé.value (champ multi) source table SP
Etc..

Voilà pour la conception
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h05.


 
 
 
 
Partenaires

Hébergement Web