{Access} SELECTIONNER SEMAINE EN COURS

Résolu
Bonjour,
pas pro du tout .. je cale là...

dans une base de donnée, j'ai extrait les numéros de semaines
comme ceci : semaine: PartDate("ww";[D_ARR_REA];2;2)
je voudrais conserver Uniquement la semaine en cours

je pensais à la fonction now() ou date() mais ça ne va pas .. :(

attention j'utilise le mode création et pas le SQL (je ne suis pas encore là :)

qui pourra m'eclairer ....?
Grand merci
simalo

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Faut apprendre SQL alors parce que tu poses des questions pointues à résoudre par le code (sauf erreur de ma part)
    quand je fais un select PartDate("ww";[D_ARR_REA];2;2) from... çà renvoie la semaine.
    Donc si tu veux celle en cours, tu fé pareil avec un truc du genre partdate(now());
    1. Bonjour simalo,

      La remarque de Moderno31 m'a intrigué. J'ai voulu vérifier et il en résulte ce qui suit :

      Solution SQL :
      SELECT DatePart("WW",Now()) AS [Semaine en cours N°];

      Solution ACCESS en mode graphique (à copier coller dans 'champ' en mode graphique)

      Semaine en cours N°: PartDate("WW";Maintenant())

      Dans les 2 cas (c'est heureux) le résultat pour aujourd'hui 28/08/2009 = 35
      Bonne journée
      1. Simalo,

        A titre d'exemple, je joins une copie d'écran de ma solution basée sur l'interface graphique de ACCESS.
        Sauf erreur, c'est ce dont vous avez besoin.
        Il vous reste à l'adapter à votre base de donées

        http://www.cijoint.fr/cjlink.php?file=cj200908/cij8W57XpU.doc

        Cordialement
        1. Bonjour
          merci à Tous
          j'ai tenté vendredi la solution en sql de moderno.. ça passait pas
          je tenterai lundi jean jacques
          grand merci de votre aide!!
          simalo
          1. Grand merci
            ça marche !! :)
            par contre une derniere petite question

            cette requete PartDate("ww";[D_ARR_REA];2;2) je l'avais trouvée sur le site
            pourquoi ;2;2 ? à quoi cela fait il reference ?
            je vois dans votre pièce jointe que vous utilisez simplement Partdate(«ww»;[])
            1. Bonjour Simalo,

              Il est très fréquent que plusieurs syntaxes soient pertinentes (Nota : Je n'ai pas testé la 1ère mais elle est plausible)

              - La première vise à extraire la chaîne de caractères (donc du texte ) qui désigne le tantième de la semaine.
              PartDate("ww";[D_ARR_REA];2;2)

              - La deuxième a une logique parallèle. Il s'agit d'extraire le N° de semaine sous forme d'un nombre (Donc numérique).

              Mes félicitations pour la bonne nouvelle

              Bonne journée
            2. @Jean_JacquesEntre temps voilà ce que j'ai lu
              avec

              la forme PartDate("ww";[datesaisie]) on aura S53 jusqu'au 31/12 et 1 à partir du 1er de l'an...

              avec la forme PartDate("ww";[datesaisie];2;2) .. la derniere semaine ne serait pas scindée
              ce serait une nuance entre les USA et l'europe ds le calcul de semaine

              bref .. j'y vois plus clair :)

              Grand merci
              je cloture donc ..
              bonne journée
              simalo
            3. @simalosimalo,

              Je ne connaissais pas cette subtilité ... USA /Fr
              Pour la contourner, j'ai trouvé cette parade :

              SELECT DatePart("m",[Datesaisie]) AS [Mois de saisie], Sum([datelimite]-[datesaisie]) AS [Nbre de jours], IIf(Year([datesaisie])<>Year([Datelimite]),"Chevauchement de Millésime !") AS Contrôle, Count(<TABLE>.RéfTransaction) AS [Nbre d'items]
              FROM [<TABLE>]
              GROUP BY DatePart("m",[Datesaisie]), IIf(Year([datesaisie])<>Year([Datelimite]),"Chevauchement de Millésime !")
              HAVING (((DatePart("m",[Datesaisie]))=[ Mois concerné ?]));

              Principe : Quand on fait la liste de décembre -> 12 ; la requête distingue les enregistrement de l'année N de ceux de l'année N + 1 et affiche le message : "Chevauchement de Millésime !" Sur la ligne de l'année N+ 1.

              Merci beaucoup d'avoir attiré mon attention à ce sujet

              Bien cordialement