{Access} SELECTIONNER SEMAINE EN COURS

Résolu/Fermé
simalo - 27 août 2009 à 13:53
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 - 31 août 2009 à 12:45
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

moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
27 août 2009 à 16:12
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
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
28 août 2009 à 13:39
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
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
28 août 2009 à 14:50
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
simalo Messages postés 24 Date d'inscription jeudi 27 août 2009 Statut Membre Dernière intervention 27 décembre 2009 11
29 août 2009 à 12:13
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
simalo Messages postés 24 Date d'inscription jeudi 27 août 2009 Statut Membre Dernière intervention 27 décembre 2009 11
31 août 2009 à 10:01
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
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
31 août 2009 à 10:58
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
simalo Messages postés 24 Date d'inscription jeudi 27 août 2009 Statut Membre Dernière intervention 27 décembre 2009 11 > Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014
31 août 2009 à 11:31
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
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112 > simalo Messages postés 24 Date d'inscription jeudi 27 août 2009 Statut Membre Dernière intervention 27 décembre 2009
31 août 2009 à 12:45
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