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 22/06/2011, 11h04   #1
Invité de passage
 
Homme
Administrateur systèmes et réseaux
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : Communication - Médias

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 1
Points : 1
Par défaut Requete croisée + champs calculé

Bonjour à tous,
Voilà je me remets doucement à Access car l’on m’a convaincu que pour la création de mon tableau de bord l’utilisation d’Access serait plus souple à l’usage.
Cependant j'ai un petit souci, j’aurai besoin de faire une requête croisé dont la valeur recherchée serait un champ calculé (Rappel/appel)


Je veux avoir un classement par user et par semaine avec en résultat le T_Rappel.
Mon problème est que dès que je lance la requête Access m’indique « dépassement de capacité ».
Quelqu’un aurait-il une idée ?
D’avance merci.
Images attachées
Type de fichier : png exemple.PNG (12,8 Ko, 6 affichages)
biduletruc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 11h21   #2
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
bonjour biduletruc,

Peux-tu nous envoyer le code SQL de ta requête, ainsi que la typologie de tes colonnes (numérique, texte, etc.) ?
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
si tout est OK, n'oubliez pas de cliquer sur
dumas.blr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 11h35   #3
Invité de passage
 
Homme
Administrateur systèmes et réseaux
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : Communication - Médias

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 1
Points : 1
Par défaut Balises Code (#)

Bonjour,

donc voila le code SQL

Code :
1
2
3
4
5
6
 
TRANSFORM Count(TAR.[T_Rappel]) AS CompteDeT_Rappel
SELECT TAR.[user], Count(TAR.[T_Rappel]) AS [Total de T_Rappel]
FROM TAR
GROUP BY TAR.[user]
PIVOT TAR.[Semaine];

Pour la structure:

La table se nomme TAR

Semaine -> texte
user -> Texte
Appel -> Numérique
Rappel -> Numérique
T_Rappel -> Champs calculé (Rappel/appel)

j’espère ne pas mettre trompé
biduletruc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 12h09   #4
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Bonjour Biduletruc,

Je ne suis pas arrivé a regénérer ton anomalie.
Ton champ calculé provient-il d'une requête ?

Voici le jeu d'essai que je me suis fait :

Table TAR :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ID	Semaine	user	Appel	Rappel
1	S09	79909	1	1
2	S09	79910	1	1
3	S10	79063	138	40
4	S10	79004	179	58
5	S10	79007	64	26
6	S10	79008	89	23
7	S10	79012	148	64
8	S10	79013	126	37
9	S10	79014	112	45
10	S10	79016	191	58
11	S10	79017	141	47
12	S10	79022	102	34
13	S10	79023	183	60
avec
Code :
1
2
3
4
5
ID -> N° auto
Semaine -> texte
user -> Texte
Appel -> Numérique
Rappel -> Numérique
puis

requête TAR1 :
Code :
1
2
SELECT TAR.ID, TAR.Semaine, TAR.user, TAR.Appel, TAR.Rappel, [TAR]![Rappel]/[TAR]![Appel] AS T_RAPPEL
FROM TAR;
qui me donne
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ID	Semaine	user	Appel	Rappel	T_RAPPEL
1	S09	79909	1	1	1
2	S09	79910	1	1	1
3	S10	79063	138	40	0,289855072463768
4	S10	79004	179	58	0,324022346368715
5	S10	79007	64	26	0,40625
6	S10	79008	89	23	0,258426966292135
7	S10	79012	148	64	0,432432432432432
8	S10	79013	126	37	0,293650793650794
9	S10	79014	112	45	0,401785714285714
10	S10	79016	191	58	0,303664921465969
11	S10	79017	141	47	0,333333333333333
12	S10	79022	102	34	0,333333333333333
13	S10	79023	183	60	0,327868852459016
puis

requête TAR1_Analyse croisée

Code :
1
2
3
4
5
TRANSFORM Count(TAR1.[T_RAPPEL]) AS CompteDeT_RAPPEL
SELECT TAR1.[user], Count(TAR1.[T_RAPPEL]) AS [Total de T_RAPPEL]
FROM TAR1
GROUP BY TAR1.[user]
PIVOT TAR1.[Semaine];
qui me donne
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
user	Total de T_RAPPEL	S09	S10
79004	1		1
79007	1		1
79008	1		1
79012	1		1
79013	1		1
79014	1		1
79016	1		1
79017	1		1
79022	1		1
79023	1		1
79063	1		1
79909	1	1	
79910	1	1
soit le pb vient du champ calculé, soit il y aurait débordement de capacité que le user (champ num et non pas texte ?)

Ta table TAR est-elle une table access ou une table liée venant d'une autre base (oracle, SQL server ...) ?
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
si tout est OK, n'oubliez pas de cliquer sur
dumas.blr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 09h23   #5
Invité de passage
 
Homme
Administrateur systèmes et réseaux
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : Communication - Médias

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 1
Points : 1
Bonjour,

Merci de ta réponse.

J'ai fait exactement la même chose que toi et cependant cela ne fonctionne pas sous access. j'ai toujours le même message "dépassement de capacité"

La table TAR est une table access, c'est juste un import d'un fichier excel.

Je ne comprends pas bien la ... c'est pourtant une requête simple.

Je vais continué de chercher d’où vient l'erreur.

Merci de ton aide.
biduletruc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 10h37   #6
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Bonjour,

Je te conseillerais de faire ta requête en plusieurs passes, surtout si ta volumétrie est importante.

1ere passe : Agrégation par user, semaine sans utiliser le pivot
2eme passe : requête pivot à partir de la requête agrégat

Quelle est la volumétrie de ta table ?

Enfin, tu peut vérifier si l'import de ta table n'a pas récupéré des lignes vides (fin de ta feuille Excel), cela pourrait peut-être générer des erreurs. Est-ce bien une table importée ou une table liée utilisant le driver Excel ?
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
si tout est OK, n'oubliez pas de cliquer sur
dumas.blr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 17h53   #7
Invité de passage
 
Homme
Administrateur systèmes et réseaux
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : Communication - Médias

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 1
Points : 1
Re,

Donc je confirme que c'est une table importé.
il n y a pas de lignes vide dans ma table TAR.

La volumetrie est d'environ 1500 enregistrements avec un ajout de 200 à 300 enregistrements par semaines.
biduletruc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 23h04   #8
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Ok, donc pas de problématique de gros volume.

As-tu essayé comme je t'ai proposé ?

est-ce que ça plante à la 1ère requête ou à la deuxième?
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
si tout est OK, n'oubliez pas de cliquer sur
dumas.blr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 08h08   #9
Invité de passage
 
Homme
Administrateur systèmes et réseaux
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : Communication - Médias

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 1
Points : 1
Bonjour,

j'ai trouvé ...

le souci: MOI !!!

Dans mes import il y avait des valeurs NULL ... ce qui générait une erreur dans ma requête croisé.

Merci de ton aide tout cas.
biduletruc 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 23h07.


 
 
 
 
Partenaires

Hébergement Web