{Access} La date et le jour de la semaine - Page 2

Précédent
  • 1
  • 2
  1. moiced59 Messages postés 1161 Statut Membre 60
     
    La requete suivante fonctionne le seul probleme c le order by

    SELECT Count(lundi.nom) AS total, Format(date,'dddd') AS Expr1
    FROM lundi
    GROUP BY Format(date,'dddd')

    il y a bien une fonction
    order by field(champ,'lun'....)mais marche pas sous sql access
    0
    1. blux Messages postés 2067 Date d'inscription   Statut Modérateur Dernière intervention   3 456
       
      Il suffit de rajouter un champ avec le jour de la semaine dans l'order by...
      0
  2. moiced59 Messages postés 1161 Statut Membre 60
     
    Oui mais tu sera trié par order alphabetique
    dimanche
    jeudi
    ...
    0
    1. blux Messages postés 2067 Date d'inscription   Statut Modérateur Dernière intervention   3 456
       
      je parlais du jour en numérique, celui renvoyé par datepart...
      0
  3. burgerdash Messages postés 47 Statut Membre 4
     
    ... Je veux bien faire des tests chez moi pour voir quelle solution est efficace ou non, mais je ne comprends rien à votre échange... :oops:

    Que dois-je faire concrètement ?
    0
    1. blux Messages postés 2067 Date d'inscription   Statut Modérateur Dernière intervention   3 456
       
      order by datepart()
      0
  4. burgerdash Messages postés 47 Statut Membre 4
     
    Je ne sais pas comment vous le dire autrement, mais je ne COMPRENDS PAS ces mots ! Je suis désolé, mais ça n'a pas de sens pour moi ! Je suis un utilisateur débutant, une information telle que "Order by datepart()" m'est complètement obscure, et je ne sais pas ce que je dois en faire. Où cliquer, que taper ?
    Si vous ne voulez pas m'expliquer ce qui équivaut pour moi à un beau charabiah, je crains que toute communication ne soit impossible.

    (je suis désolé si je peux sembler un peu rude, surtout sachant que vous m'apportez une aide tombée du ciel, mais je ne sais plus comment m'y prendre...)
    0
    1. blux Messages postés 2067 Date d'inscription   Statut Modérateur Dernière intervention   3 456
       
      Essaye ça (en remplaçant table3 par le nom de ta table, hein ? :-))

      SELECT Count(Table3.Client) AS [Nombre de clients], Format(Table3.DateAchat,"dddd") AS Jour
      FROM Table3
      GROUP BY Table3.DateAchat
      ORDER BY DatePart("w",dateachat);
      
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. burgerdash Messages postés 47 Statut Membre 4
     
    SELECT c'est ce que je mets dans Champ, FROM dans Table, GROUP BY dans Opération, et ORDER BY dans Tri ?
    Ya pas de champ "Client" dans la table "Facture". Ya bien un "N° de carte de fidélité-acheteur" mais je sais pas trop ce que tu veux en faire. Certaines factures n'ont pas de N° de carte, car il s'agit de clients ponctuels.

    ...
    Les mecs, je viens de faire la découverte du siècle. Microsoft, ces salauds, eh ben ils avaient planqué un petit bouton dans Access, qui permet tout simplement de passer en mode de programmation SQL linéaire :) Et pis quand tu cliques dessus, eh ben tu peux taper toutes les conneries que tu veux ! Et pis ça marche ! Et pis c'est pas trop tôt putain parce que d'un coup là je peux utiliser ce que vous me dites depuis trois plombes !

    DONC ;
    Effectivement il pige pas de quel champ "Client" je parle, dans la table Facture. Ni DateAchat ou dateachat, ça existe pas.
    0
    1. blux Messages postés 2067 Date d'inscription   Statut Modérateur Dernière intervention   3 456
       
      Je ne sais pas comme ils sont appelés tes champs, j'ai pris en fonction de ce que tu as donné au début :

      Voici ce que je saisis dans ma table :

      Clients | Date d'achat
      Client 1 | 07/01/10


      Si les noms sont différents, à toi de jouer (en sql c'est plus facile)
      0
  7. burgerdash Messages postés 47 Statut Membre 4
     
    Hum d'accord, désolé. J'avais oublié que j'avais donné des noms de champs au pif. Chuis un peu trop sur les nerfs moi...

    Donc ça donne ça :
    SELECT Count(Facture.N° facture) AS [Nombre de clients], Format(Facture.Date,"dddd") AS Jour
    FROM Facture
    GROUP BY Facture.Date
    ORDER BY DatePart("w",Date);


    Quand j'essaye d'enregistrer, il me dit que "Erreur de syntaxe (opérateur absent) dans l'expression " Count(Facture.N° facture) ".", et met en surbrillance le "facture" de "N° facture".
    0
    1. blux Messages postés 2067 Date d'inscription   Statut Modérateur Dernière intervention   3 456
       
      Mets ton N° facture entre [], access n'aime pas les blancs dans les noms (ni les caractères exotiques)...
      0
  8. moiced59 Messages postés 1161 Statut Membre 60
     
    re

    je rajouterais juste une petite close ds le order by:
    SELECT Count(Facture.N° facture) AS [Nombre de clients], Format(Facture.Date,"dddd") AS Jour
    FROM Facture
    GROUP BY Facture.Date
    ORDER BY DatePart("w",Date,'2');

    Pour que le tri commence le lundi et non dimanche
    0
    1. blux Messages postés 2067 Date d'inscription   Statut Modérateur Dernière intervention   3 456
       
      Tout dépend quand il veut que commence sa semaine... :-)
      0
  9. moiced59 Messages postés 1161 Statut Membre 60
     
    bonjour

    oui je suis d'accord avec toi mais il a demandé lundi
    0
  10. burgerdash Messages postés 47 Statut Membre 4
     
    Salut les boyz. Depuis dimanche j'ai u eu accès à ma BDD, mais les affaires reprennent :) Là sous 2002, la requête ressemble à ça :
    https://www.imagup.com
    Le code utilisé est le suivant :
    SELECT Count(Facture.[N° facture]) AS [Nombre de clients], Format(Facture.Date,"dddd") AS Jour
    FROM Facture
    GROUP BY Facture.Date
    ORDER BY DatePart("w",Date,'2');
    0
    1. blux Messages postés 2067 Date d'inscription   Statut Modérateur Dernière intervention   3 456
       
      je viens de voir que je me suis trompé, le GROUP BY est à faire sur la fonction :

      GROUP BY Format(Facture.Date,"dddd")
      0
  11. burgerdash Messages postés 47 Statut Membre 4
     
    Merci blux.
    Au moment d'ouvrir la requête le message suivnt apparaît :

    "Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée 'DataPart("w",Date'2')' comme une partie de la fonction d'agrégat."

    Le code est maintenant le suivant:
    SELECT Count(Facture.[N° facture]) AS [Nombre de clients], Format(Facture.Date,"dddd") AS Jour
    FROM Facture
    GROUP BY Format(Facture.Date,"dddd")
    ORDER BY DatePart("w",Date,'2');
    0
    1. blux Messages postés 2067 Date d'inscription   Statut Modérateur Dernière intervention   3 456
       
      bizarre !
      supprime le ORDER BY pour voir...
      0
  12. moiced59 Messages postés 1161 Statut Membre 60
     
    re

    SELECT Format(date,'dddd') AS jour, Count(lundi.nom) AS total
    FROM lundi
    GROUP BY Format(date,'dddd'), DatePart("w",Date,'2')
    ORDER BY DatePart("w",Date,'2');

    fonctionne de mon coté
    il faut que ton order by apparaisse ds ton select
    0
  13. burgerdash Messages postés 47 Statut Membre 4
     
    Ah Blux c'est bon ! Ta version fonctionne, j'obtiens le résultat voulu. Merci beaucoup les mecs, blux, ced et Jean_Jacques :D

    Kisses
    0
Précédent
  • 1
  • 2