Forum Clubic

Requete j() et j()-1

Bonjour à tous
Je voudrai faire une requête qui me permet d’afficher les enregistrements qui ont eu lieu dans une journée, en sachant que la journée administrative commence le jour J à 15h et fini le jour J+1 à 4h
J’ai déjà un requête mais elle fonctionne dur les horaires des deux journées.

SELECT Clients.[Code client], Commandes.[Code client], Clients.Prenom, Commandes.Journee, Commandes.[Date commande], Commandes.Heure
FROM Clients INNER JOIN Commandes ON Clients.[Code client] = Commandes.[Code client]
WHERE (((Commandes.Journee) Between Date()-1 And Date()));

Journée commande est la journée qui commence à 15h et finit le lendemain à 4h

Date commande est la journée date()

Merci d’avance
Bob

Salut,

As-tu regardé les fonctions de date de mysql?
Tu as adddate et subdate pour faire ce que tu veux.

Merci kiki pour ta réponse
Ca ne marche pas et c’est difficile d’expliquer car je ne peux pas joindre de fichier sur ce site.
Je t’invite si tu le veux bien et si l’éthique le permet, à te rendre sur le forum Développez.com / access / requetes et sql /Requete j() et j()-1 sur lequel j’ai entamé une discussion avancée mais pas finalisée. Sur ce site j’ai pu joindre mon fichier access.
Merci encore pour ton attention
A plus BOB

J’ai trouvé la solution grâce à Helas sur developpez.com je te la livre ci-dessous.

Clients.[Code client], Clients.NOM, Clients.Prenom, Clients.DateNaissance, [Date commande]+[heure] AS Expr4, Hour(Now())<15 AS Expr1
FROM Clients INNER JOIN Commandes ON Clients.[Code client] = Commandes.[Code client]
GROUP BY Clients.[Code client], Clients.NOM, Clients.Prenom, Clients.DateNaissance, [Date commande]+[heure], Hour(Now())<15
HAVING ((([Date commande]+[heure])>=(Date()-1+(15/24)) And ([Date commande]+[heure])<=(Date()+(4/24))) AND ((Hour(Now())<15)=True)) OR ((([Date commande]+[heure])>=Date()+(15/24)) AND ((Hour(Now())<15)=False))
ORDER BY Clients.NOM, Clients.Prenom;

Hour(Now())<15 est ajouté pour savoir sur quelle journée les critères portent.

Et merci encore pour votre aide.
A plus Bob

Tu aurais pu faire comme ca aussi:

Select *
Where floor(convert(float,getdate())) = floor(convert(float,dateadd(hh,9, [Date commande])))
	And datepart(hh,dateadd(hh,9, [Date commande])) <= 13

Ca te donne toutes les records entre hier 15h00 et aujourd’hui 04h00.