Transcription en ACCESS d'une equête SQL/DB2
Résolu
enlérga
-
enlérga -
enlérga -
Bonjour,
J'ai besoin d'adapter cette requête à access:
SELECT Count(DISTINCT(NewTableau.[N° DAE])) AS ["colA"], Count(DISTINCT(NewTableau.[N° Doc Vente OPUS Gamme Opération])) AS ["colB"],
DECIMAL(DECIMAL(Count(DISTINCT(NewTableau.[N° DAE])),5,2) / DECIMAL(Count(DISTINCT(NewTableau.[N° Doc Vente OPUS Gamme Opération])),5,2),5,2) AS ["colA/B"]
FROM NewTableau;
(celle ci renvoi un message d'erreur: Fonction 'DISTINCT' non défini dans l'expression! )
Ou au moins si vous pouviez me donner un équivalent.
je dois comparer deux colonnes d'une table" N° DAE" et N° Doc Vente "N° Doc Vente OPUS Gamme Opération":
"N° Doc Vente OPUS Gamme Opération": Il peut y avoir plusieur fois le même nombre, je veux les compter une seule fois.(ne pas compter les doublon)
" N° DAE": Normalement tous différent donc tous les compter.
Je veux que ça renvoye un truc comme ça : 1/4=0.25 correspondant à [resultat colonne A]/[resultat colonne B]=resultat
Merci D'avance
J'ai besoin d'adapter cette requête à access:
SELECT Count(DISTINCT(NewTableau.[N° DAE])) AS ["colA"], Count(DISTINCT(NewTableau.[N° Doc Vente OPUS Gamme Opération])) AS ["colB"],
DECIMAL(DECIMAL(Count(DISTINCT(NewTableau.[N° DAE])),5,2) / DECIMAL(Count(DISTINCT(NewTableau.[N° Doc Vente OPUS Gamme Opération])),5,2),5,2) AS ["colA/B"]
FROM NewTableau;
(celle ci renvoi un message d'erreur: Fonction 'DISTINCT' non défini dans l'expression! )
Ou au moins si vous pouviez me donner un équivalent.
je dois comparer deux colonnes d'une table" N° DAE" et N° Doc Vente "N° Doc Vente OPUS Gamme Opération":
"N° Doc Vente OPUS Gamme Opération": Il peut y avoir plusieur fois le même nombre, je veux les compter une seule fois.(ne pas compter les doublon)
" N° DAE": Normalement tous différent donc tous les compter.
Je veux que ça renvoye un truc comme ça : 1/4=0.25 correspondant à [resultat colonne A]/[resultat colonne B]=resultat
Merci D'avance
A voir également:
- Transcription en ACCESS d'une equête SQL/DB2
- Transcription audio en texte word gratuit - Guide
- Transcription whatsapp - Accueil - Messagerie instantanée
- Transcription texte en audio - Guide
- Transcription youtube - Guide
- Coran transcription en français pdf - Télécharger - Histoire & Religion
3 réponses
Salut,
ACCESS ne sait pas faire ça, il faut passer par une sous-requête.
SELECT Count(*) AS ["colA"] FROM (SELECT DISTINCT(NewTableau.[N° DAE]) FROM NewTableau);
Je pense que tu seras obligé(e) d'enregistrer deux sous-requêtes avant de les sélectionner, car je ne sais pas comment en imbriquer deux...
Pour ce qui est de la mise en forme, on verra plus tard...
ACCESS ne sait pas faire ça, il faut passer par une sous-requête.
SELECT Count(*) AS ["colA"] FROM (SELECT DISTINCT(NewTableau.[N° DAE]) FROM NewTableau);
Je pense que tu seras obligé(e) d'enregistrer deux sous-requêtes avant de les sélectionner, car je ne sais pas comment en imbriquer deux...
Pour ce qui est de la mise en forme, on verra plus tard...
Enfaite j'ai juste deduit 1 sur chaque requête, car il compte le champ vide comme étant un champ distinct(il y avait 5 ligne rempli il en compte 6 à cause des champs vide donc j'ai fais un "-1").
Je pense que c'est bon comme ça, non?
J'ai ensuite rassemblé sur une même requête, voilà ce que ça renvoie:
NbrOPUS NbrDAE Pourcentage: NbrOPUS/NbrDAE <====== commande fausse je pense :)
5 79 #Erreur
J'arrive pas à avoir le rapport des deux. Je voudrais qu'il affiche 0.063 puis à coté en pourcentage, un truc comme ça !
Je pense que c'est bon comme ça, non?
J'ai ensuite rassemblé sur une même requête, voilà ce que ça renvoie:
NbrOPUS NbrDAE Pourcentage: NbrOPUS/NbrDAE <====== commande fausse je pense :)
5 79 #Erreur
J'arrive pas à avoir le rapport des deux. Je voudrais qu'il affiche 0.063 puis à coté en pourcentage, un truc comme ça !
Y'a pas grand chose dedans vu qu'elle ne fais que reprendre les deux autres
j'étais parti sur plus compliqué :-)
et le "NbrOPUS"/"NbrDAE" AS Pourcentage ne marche pas !!
Ca c'est normal...
Il ne faut pas mettre de double-quotes, mais simplement l'opération : NbrOPUS/NbrDAE AS Pourcentage.
Les doubles-quotes ne sont pas nécessaires, ni les crochets, les crochets ne servent que de délimiteurs dans le cas où le nom de l'objet (colonne, table, requête) contient un caractère réservé ou non standard : espace, tiret...
Ensuite, on peut formater pour avoir un résultat en pourcentage avec 2 décimales...
format(NbrOPUS/NbrDAE,"0.00%") AS Pourcentage
j'étais parti sur plus compliqué :-)
et le "NbrOPUS"/"NbrDAE" AS Pourcentage ne marche pas !!
Ca c'est normal...
Il ne faut pas mettre de double-quotes, mais simplement l'opération : NbrOPUS/NbrDAE AS Pourcentage.
Les doubles-quotes ne sont pas nécessaires, ni les crochets, les crochets ne servent que de délimiteurs dans le cas où le nom de l'objet (colonne, table, requête) contient un caractère réservé ou non standard : espace, tiret...
Ensuite, on peut formater pour avoir un résultat en pourcentage avec 2 décimales...
format(NbrOPUS/NbrDAE,"0.00%") AS Pourcentage
J'ai enttré cette commande:
SELECT NbrOPUS.["NbrOPUS"], NbrDAE.["NbrDAE"], NbrOPUS/NbrDAE AS Rapport, format(NbrOPUS/NbrDAE,"0.00%") AS Pourcentage
FROM NbrDAE, NbrOPUS;
Le problème est qu'a l'execution de la requête, une petite fenêtre s'affiche me demandant de taper le NbrOPUS et le NbrDAE. Moi je voudrais qu'il les récupère tout seul.
On en est pas loin là ! :)
SELECT NbrOPUS.["NbrOPUS"], NbrDAE.["NbrDAE"], NbrOPUS/NbrDAE AS Rapport, format(NbrOPUS/NbrDAE,"0.00%") AS Pourcentage
FROM NbrDAE, NbrOPUS;
Le problème est qu'a l'execution de la requête, une petite fenêtre s'affiche me demandant de taper le NbrOPUS et le NbrDAE. Moi je voudrais qu'il les récupère tout seul.
On en est pas loin là ! :)
Excuse moi je comprends pas ...
NbrOPUS et NbrSDAE viennent de deux requêtes différentes qui compte le nombre de d'élement distinct dans la colonne "N° Doc Vente OPUS Gamme Opération" et la colonne "N° DAE" toute deux dans la table "NewTableau".
je sais pas si c'est cela que tu veux?
NbrOPUS et NbrSDAE viennent de deux requêtes différentes qui compte le nombre de d'élement distinct dans la colonne "N° Doc Vente OPUS Gamme Opération" et la colonne "N° DAE" toute deux dans la table "NewTableau".
je sais pas si c'est cela que tu veux?
si tu as une 'petite fenêtre', c'est qu'access ne sait pas trouver les champs qui correspondent, et il te demande de les taper...
Je les préfixerais, pour voir :
SELECT NbrOPUS.["NbrOPUS"], NbrDAE.["NbrDAE"], NbrOPUS.["NbrOPUS"]/.["NbrDAE"]NbrDAE AS Rapport, format(NbrOPUS.["NbrOPUS"]/NbrDAE.["NbrDAE"],"0.00%") AS Pourcentage
FROM NbrDAE, NbrOPUS;
Je les préfixerais, pour voir :
SELECT NbrOPUS.["NbrOPUS"], NbrDAE.["NbrDAE"], NbrOPUS.["NbrOPUS"]/.["NbrDAE"]NbrDAE AS Rapport, format(NbrOPUS.["NbrOPUS"]/NbrDAE.["NbrDAE"],"0.00%") AS Pourcentage
FROM NbrDAE, NbrOPUS;
Première :
SELECT Count(*) AS ["NbrOPUS"]
FROM (SELECT DISTINCT(NewTableau.[N° Doc Vente OPUS Gamme Opération]) FROM NewTableau);
Deuxième :
SELECT Count(*) AS ["NbrDAE"]
FROM [SELECT DISTINCT(NewTableau.[N° DAE]) FROM NewTableau];
(il ne faut pas que ça compte les champs vide!!)
est-ce juste stp ça deja?
par contre, pour ne pas compter les champs vides, il faut les exclure de la sous-requête d'origine avec un where...
je suis en train de réfléchir pour la juxtaposition des résultats, mais ça ne marche pas comme je veux pour l'instant, car il me fait un produit cartésien du nombre de lignes...