{Access} La date et le jour de la semaine
Fermé
Burgerdash
-
9 janv. 2010 à 12:32
burgerdash Messages postés 45 Date d'inscription vendredi 8 janvier 2010 Statut Membre Dernière intervention 16 août 2015 - 13 janv. 2010 à 20:04
burgerdash Messages postés 45 Date d'inscription vendredi 8 janvier 2010 Statut Membre Dernière intervention 16 août 2015 - 13 janv. 2010 à 20:04
A voir également:
- Access date du jour
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mettre à jour ses pilotes - Guide
- Qu'est ce qu'une femme fait 3 fois par jour et un homme une fois dans sa vie - Forum Loisirs / Divertissements
32 réponses
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
9 janv. 2010 à 12:38
9 janv. 2010 à 12:38
Salut,
regarde la fonction datepart, elle te permet d'extraire ce que tu veux d'une date...
regarde la fonction datepart, elle te permet d'extraire ce que tu veux d'une date...
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
9 janv. 2010 à 12:38
9 janv. 2010 à 12:38
bonjour
1° tu as bien fais d'ouvrir un new post a chaque poste son probleme
alors pr ton probleme tu veux la somme de toute les personne venu un lundi pour un mois ?
ou
toutes les personnes venu un lundi en particulier?
1° tu as bien fais d'ouvrir un new post a chaque poste son probleme
alors pr ton probleme tu veux la somme de toute les personne venu un lundi pour un mois ?
ou
toutes les personnes venu un lundi en particulier?
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
9 janv. 2010 à 13:35
9 janv. 2010 à 13:35
Bonjour Burgerdash,
Voici la syntaxe pour obtenir la valeur littérale de <Champ_date> :
Jour littéral : Format([<Champ_date>];"\ dddd")
- A saisir dans 'champ' de l'interface graphique .
- Ceci, combiné avec un regroupement, vous permettra d'obtenir le résultat recherché.
Cordialement
Voici la syntaxe pour obtenir la valeur littérale de <Champ_date> :
Jour littéral : Format([<Champ_date>];"\ dddd")
- A saisir dans 'champ' de l'interface graphique .
- Ceci, combiné avec un regroupement, vous permettra d'obtenir le résultat recherché.
Cordialement
burgerdash
Messages postés
45
Date d'inscription
vendredi 8 janvier 2010
Statut
Membre
Dernière intervention
16 août 2015
4
9 janv. 2010 à 13:46
9 janv. 2010 à 13:46
[Sorry pour le message au-dessus, manipulation foireuse... :x]
Blux, comment je "regarde la fonction datepart" ?
moiced59, en fait je veux avoir la somme de toutes les personnes venues un lundi depuis l'ouverture de ma base de données, pareil pour le mardi, le mercredi...
Jean-Jacques, je vais essayer ça tout de suite :) Merci pour votre aide.
Blux, comment je "regarde la fonction datepart" ?
moiced59, en fait je veux avoir la somme de toutes les personnes venues un lundi depuis l'ouverture de ma base de données, pareil pour le mardi, le mercredi...
Jean-Jacques, je vais essayer ça tout de suite :) Merci pour votre aide.
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
9 janv. 2010 à 13:51
9 janv. 2010 à 13:51
La fonction datepart est accessible dans l'aide...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
burgerdash
Messages postés
45
Date d'inscription
vendredi 8 janvier 2010
Statut
Membre
Dernière intervention
16 août 2015
4
9 janv. 2010 à 15:45
9 janv. 2010 à 15:45
Blux, j'ai créé une requête contenant le champ "Date" avec l'opération Regroupement et le critère "DatePart(sem, date, vbMonday)", et un champ "Nombre de factures créées" avec l'opération Compte. D'une part je pense que je dois mettre quelque chose à la place de "date", mais je ne comprends pas quoi, et d'autre part Access m'oppose le message d'erreur suivant qui m'empêche d'enregistrer la requête : "L'expression entrée comporte une fonction dont le nombre d'arguments n'est pas correct."
Jean_Jacques, dois-je 1. créer une nouvelle requête en mode création
2. écrire cette formule dans la case en haut à gauche
3. remplacer <champ_date> par le nom du champ contenant les dates de création de factures
4. choisir l'opération "Regroupement" ?
Car si je fais ça, Access me rétorque que je fais une erreur de syntaxe...
Jean_Jacques, dois-je 1. créer une nouvelle requête en mode création
2. écrire cette formule dans la case en haut à gauche
3. remplacer <champ_date> par le nom du champ contenant les dates de création de factures
4. choisir l'opération "Regroupement" ?
Car si je fais ça, Access me rétorque que je fais une erreur de syntaxe...
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
9 janv. 2010 à 15:47
9 janv. 2010 à 15:47
Il faut remplacer les paramètres de datepart par ceux que tu souhaites, c'est-à-dire la date sur laquelle tu veux que ce soit appliqué et le type de données que tu veux extraire (jour, mois, semaine...).
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
9 janv. 2010 à 16:36
9 janv. 2010 à 16:36
burgerdash,
En effet, il faut remplacer <Champ_date> par le nom du champ qui contient l'information 'date'.
Je pensais cette convention connue ... Désolé.
Nota : Il faut copier l'intégralité de la ligne ci-dessous ! Et ce, quel que soit le mode, création ou modification ..
Jour littéral : Format([<Champ_date>];"\ dddd")
A+
En effet, il faut remplacer <Champ_date> par le nom du champ qui contient l'information 'date'.
Je pensais cette convention connue ... Désolé.
Nota : Il faut copier l'intégralité de la ligne ci-dessous ! Et ce, quel que soit le mode, création ou modification ..
Jour littéral : Format([<Champ_date>];"\ dddd")
A+
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
9 janv. 2010 à 15:49
9 janv. 2010 à 15:49
Le top ca serais que tu creer un nouveau champ avec le nom du jour ex: jour et ensuite faire :
select count(client)
from ...
group by jour
select count(client)
from ...
group by jour
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
9 janv. 2010 à 15:57
9 janv. 2010 à 15:57
C'est pas recommandé dans une base relationnelle...
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
9 janv. 2010 à 16:03
9 janv. 2010 à 16:03
baah meme avec des relations ca ne posera pas de pb je trouve ca simple a appliquer et cela servira tjs
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
9 janv. 2010 à 16:06
9 janv. 2010 à 16:06
Si tu as une base avec 2 millionns de lignes, tu vas rajouter 2 millions de jours !
Quel gâchis, alors qu'on peut le recalculer quand on en a besoin...
Quel gâchis, alors qu'on peut le recalculer quand on en a besoin...
burgerdash
Messages postés
45
Date d'inscription
vendredi 8 janvier 2010
Statut
Membre
Dernière intervention
16 août 2015
4
9 janv. 2010 à 16:30
9 janv. 2010 à 16:30
Blux je suis désolé mais je comprends pas tes explications. Apparemment dans mon cas, dans "DatePart(intervalle, date [, premierjoursem] [, premièresemainean] )" je dois remplacer "intervalle" par "sem" pour solliciter un jour de la semaine, et "premierjoursem" par "vbMonday" car je veux que Lundi soit le premier jour de la semaine. La première semaine de l'année je m'en fous, et ce critère est facultatif. Ensuite, voici ce que me dit l'aide à propos de "date" :
"Argument date obligatoire. Variant (Date) à évaluer."
Ça vous paraît clair, vous ? Je soupçonne Microsoft d'avoir écrit sa documentation de manière à ce que seuls ceux qui savent déjà se servir du programme comprennent ^^
Concrètement, je dois remplacer "date" par "Nomdelatable_Nomduchamp" à traiter ?
Ced, c'est ce que j'ai tenté au début mais ça obligeait à recopier le nom du jour alors qu'il est affiché dans le champ voisin ! C'est bête, je suis sûr qu'Access peut faire ça tout seul !
"Argument date obligatoire. Variant (Date) à évaluer."
Ça vous paraît clair, vous ? Je soupçonne Microsoft d'avoir écrit sa documentation de manière à ce que seuls ceux qui savent déjà se servir du programme comprennent ^^
Concrètement, je dois remplacer "date" par "Nomdelatable_Nomduchamp" à traiter ?
Ced, c'est ce que j'ai tenté au début mais ça obligeait à recopier le nom du jour alors qu'il est affiché dans le champ voisin ! C'est bête, je suis sûr qu'Access peut faire ça tout seul !
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
9 janv. 2010 à 16:47
9 janv. 2010 à 16:47
Je ne vois pas a quoi va te servir le datepart ?
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
9 janv. 2010 à 17:08
9 janv. 2010 à 17:08
Moi non plus, je me suis emmêlé les pinceaux depuis le début... :-)
C'est bien format qu'il faut utiliser, comme le disait Jean-Jacques, avec une nuance : comme nous sommes en SQL, il faut la version anglaise :
SELECT format(champ_date,"dddd") FROM ...
pour la date d'aujourd'hui, ça renvoie samedi.
Désolé de vous avoir enduits avec de l'erreur :-(
C'est bien format qu'il faut utiliser, comme le disait Jean-Jacques, avec une nuance : comme nous sommes en SQL, il faut la version anglaise :
SELECT format(champ_date,"dddd") FROM ...
pour la date d'aujourd'hui, ça renvoie samedi.
Désolé de vous avoir enduits avec de l'erreur :-(
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
>
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
9 janv. 2010 à 17:42
9 janv. 2010 à 17:42
Pour information,
Voici le copié/collé (adapté) de mon test SQL.
Il fonctionne correstement sous ma version Access 2000.
SELECT Month([<champ_date>]) AS N°, Format([<champ_date>],"\ dddd") AS [Jour littéral]
FROM <table> GROUP BY Month([<champ_date>]), Format([<champ_date>],"\ dddd");
A+
Voici le copié/collé (adapté) de mon test SQL.
Il fonctionne correstement sous ma version Access 2000.
SELECT Month([<champ_date>]) AS N°, Format([<champ_date>],"\ dddd") AS [Jour littéral]
FROM <table> GROUP BY Month([<champ_date>]), Format([<champ_date>],"\ dddd");
A+
burgerdash
Messages postés
45
Date d'inscription
vendredi 8 janvier 2010
Statut
Membre
Dernière intervention
16 août 2015
4
9 janv. 2010 à 17:23
9 janv. 2010 à 17:23
Ced, ben c'est sur les conseils de blux que j'essaye de l'utiliser... Le but est d'obtenir dans une requête des données classées par période de la semaine sans avoir à modifier les données de la table (car j'ai besoin de la date complète pour d'autres requêtes, et je veux éviter la redondance d'informations du genre
Date | Jour
samedi 7 janvier 2010 | Samedi
(qui est chiante pour le type qui doit saisir les informations au jour le jour, et qui prend de la place sur le serveur))
Date | Jour
samedi 7 janvier 2010 | Samedi
(qui est chiante pour le type qui doit saisir les informations au jour le jour, et qui prend de la place sur le serveur))
burgerdash
Messages postés
45
Date d'inscription
vendredi 8 janvier 2010
Statut
Membre
Dernière intervention
16 août 2015
4
9 janv. 2010 à 17:34
9 janv. 2010 à 17:34
Ah d'accord XD Merci Ced d'avoir insisté, et merci blux d'avoir persévéré.
Bon, donc je ponds une colonne Date | Facture | Regroupement | SELECT format(Date,"dddd") FROM ... dans ma requête ?
Réaction d'Access : "Cette expression comporte une sous-requête erronée. Placez la sous-requête entre parenthèses."
Suis-je supposé remplacer les dddd ou ... par quelque chose ?
Bon, donc je ponds une colonne Date | Facture | Regroupement | SELECT format(Date,"dddd") FROM ... dans ma requête ?
Réaction d'Access : "Cette expression comporte une sous-requête erronée. Placez la sous-requête entre parenthèses."
Suis-je supposé remplacer les dddd ou ... par quelque chose ?
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
9 janv. 2010 à 17:37
9 janv. 2010 à 17:37
Non, tu mets simplement format(la_date_que_tu_veux,"dddd") comme colonne.
Ce que j'ai donné était un simple exemple...
Ce que j'ai donné était un simple exemple...
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
9 janv. 2010 à 17:46
9 janv. 2010 à 17:46
re
je comprend plus rien avec le format du champ tu va obtenir le jour la ok mais ca il la deja apparement?
je comprend plus rien avec le format du champ tu va obtenir le jour la ok mais ca il la deja apparement?
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
9 janv. 2010 à 17:49
9 janv. 2010 à 17:49
D'après ce que j'ai compris, il n'a qu'une date complète, donc autant de pivots pour un group by...
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
9 janv. 2010 à 17:55
9 janv. 2010 à 17:55
ah ok je croyais que ca date etait o format samedi 9 janvier 2010
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
9 janv. 2010 à 18:04
9 janv. 2010 à 18:04
Par contre j'ai testé mais le sql d'access ne supporte pas le Format
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
9 janv. 2010 à 18:12
9 janv. 2010 à 18:12
re
G rien dis ca marche j avais une reference manquante c pr ca que ca n'allais pas dsl!!!
G rien dis ca marche j avais une reference manquante c pr ca que ca n'allais pas dsl!!!
burgerdash
Messages postés
45
Date d'inscription
vendredi 8 janvier 2010
Statut
Membre
Dernière intervention
16 août 2015
4
9 janv. 2010 à 18:17
9 janv. 2010 à 18:17
https://www.imagup.com
à gauche, mes données de test dans la table Facture (il y a d'autres champs mais je les ai masqués pour aller à l'essentiel) ; à droite, ce que je voudrais obtenir dans une requête, pour ensuite peut-être, dans un monde parfait, en tirer un joli graphique.
Le champ entouré en orange est celui que je suis en train d'éditer. Voilà comment j'entre les données, voici comment elles s'affichent. Oki ?
Le fichier a été créé sous 2003, mais là je suis sur 2007 pour le week-end.
à gauche, mes données de test dans la table Facture (il y a d'autres champs mais je les ai masqués pour aller à l'essentiel) ; à droite, ce que je voudrais obtenir dans une requête, pour ensuite peut-être, dans un monde parfait, en tirer un joli graphique.
Le champ entouré en orange est celui que je suis en train d'éditer. Voilà comment j'entre les données, voici comment elles s'affichent. Oki ?
Le fichier a été créé sous 2003, mais là je suis sur 2007 pour le week-end.
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
9 janv. 2010 à 18:21
9 janv. 2010 à 18:21
SELECT Count(lundi.nom) AS total, Format(date,'dddd') AS Expr1
FROM lundi
GROUP BY Format(date,'dddd')
tien cette requete fonctionne
adapte la a tes champ
le probleme c le order by !!!!! c trié par ordre alphabetique!!!
FROM lundi
GROUP BY Format(date,'dddd')
tien cette requete fonctionne
adapte la a tes champ
le probleme c le order by !!!!! c trié par ordre alphabetique!!!
burgerdash
Messages postés
45
Date d'inscription
vendredi 8 janvier 2010
Statut
Membre
Dernière intervention
16 août 2015
4
9 janv. 2010 à 18:24
9 janv. 2010 à 18:24
Ced, je ne sais pas utiliser SQL. J'écris quoi où, dans l'outil graphique de création de requête ?
Merci des efforts que vous faites pour m'aider, j'espère pouvoir prochainement vous renvoyer l'ascenseur.
Merci des efforts que vous faites pour m'aider, j'espère pouvoir prochainement vous renvoyer l'ascenseur.
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
9 janv. 2010 à 18:25
9 janv. 2010 à 18:25
donc ton champ date etait deja bien au format samedi 9 janvier 2009
burgerdash
Messages postés
45
Date d'inscription
vendredi 8 janvier 2010
Statut
Membre
Dernière intervention
16 août 2015
4
9 janv. 2010 à 18:27
9 janv. 2010 à 18:27
Oui, mais en l'état je ne sais pas comment utiliser dans une requête ce "samedi" qui s'affiche. C'est là tout le trou du cul du problème, si vous me permettez.