{Access} SELECTIONNER SEMAINE EN COURS

Résolu
simalo -  
Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. moderno31 Messages postés 900 Statut Membre 92
     
    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
  2. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    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
    0
  3. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    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
    0
  4. simalo Messages postés 29 Statut Membre 11
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. simalo Messages postés 29 Statut Membre 11
     
    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»;[])
    0
    1. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
       
      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
      0
      1. simalo Messages postés 29 Statut Membre 11 > Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention  
         
        Entre 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
        0
      2. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112 > simalo Messages postés 29 Statut Membre
         
        simalo,

        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
        0