{Access} SELECTIONNER SEMAINE EN COURS

Résolu/Fermé
Signaler
-
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
-
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

Messages postés
870
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
8 août 2012
91
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
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
111
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
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
111
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
Messages postés
24
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
27 décembre 2009
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
Messages postés
24
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
27 décembre 2009
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
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
111
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
Messages postés
24
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
27 décembre 2009
11 >
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014

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
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
111 >
Messages postés
24
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
27 décembre 2009

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