Sql select [Résolu]

Messages postés
111
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
23 mars 2018
- - Dernière réponse : cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 15 sept. 2010 à 20:19
Bonjour
comment formuler mon Sql : "Seclect ............" pour selectionner les enregistrements d'une semaine dans une base access, soit du lundi au samedi si dans la base la date est écrite au format court, c'est à dire 12/08/2010.
merci d'avance
Colby
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
77
3
Merci
Bah il te suffit de paramétrer ta requète avec exactement la même syntaxe, mais côté VB :
En supposant que la date qui va servir à la recherche est 'maDate' :
sSQL = "Select * From maTable" & _
       " Where Format(monChampDate, "ww", vbMonday, vbFirstFourDays) = " & _
       CStr(Format(maDate, "ww", vbMonday, vbFirstFourDays))
VB calculera le n° de la semaine au moment où tu vas créer cette requète et Access calculera les le numéro de la semaine des données de son côté.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 111 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
77
0
Merci
Salut

Si tu es sous Access (*), tu as le doit d'utiliser certaines commandes VB du genre Format
En sachant que le numéro de la semaine peut être calculé comme ceci :
    Format(Ici_la_date, "ww", vbMonday, vbFirstFourDays)
, tu dois pouvoir écrire :
sSQL = "Select * From maTable" & _
       " Where Format(monChampDate, "ww", vbMonday, vbFirstFourDays) = 37"
sachant que c'est à toi de fournir le numéro de la semaine (ici 37)

Cette syntaxe inclut les dimanches.
Est-ce que ça a une grosse importance ?

(*) sous SQL Server surement aussi, mais pas vérifié

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
77
0
Merci
NB : La fonction Format écrite comme cela utilise des constantes (vbMonday, vbFirstFourDays) définissant le premier jour de la semaine et la première semaine de l'année (les américains gérant différemment ces paramètres)
Voir éventuellement dans l'aide de Access si ces constantes s'écrivent de la même manière.
Ici, elles commencent par 'vb' parce que j'ai repiquer cette syntaxe dans VB6, mais sous Access, c'est peut-être 'ac' : l'aide te le dira

S'il n'y a pas ces constantes, tu peux utiliser les chiffres 2 et 2.
Commenter la réponse de cs_Jack
Messages postés
111
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
23 mars 2018
0
Merci
merci
comme vous dites je dois fournir le numéro de semaine dans l'exemple donné. et dans le cas ou je pars seulement de la date de lundi et sans donner la date de fin poue que la selection se fasse sur la semaine du lundi choisi, aucun problème pour y inclure le dimanche ?
Merci d'avance
Colby
Commenter la réponse de cs_colby

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.