Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Requête sur tranches horaires

bobafric

XLDnaute Occasionnel
Bonjour
Petit problème de conception dans une requête access.
Je travaille sur des journées qui commencent à 15h et finissent à 3h du matin.
J’ai des entrées et sorties (clients) à répertorier selon la tranche horaire par exemple :
Je veux répertorier tous les produits sortis au mois de mai de 15h à 21h sur une requête matinée, et les sorties de 21h à 3h du matin sur une requête soirée.
J’ai réussi pour la matinée de 15h à 21h voir SQL ci-dessous

Requête matinée :
SELECT Clients.[Code client], Commandes.[Code client], Clients.Prenom, Commandes.Journee, Commandes.Orientation, Commandes.Heure
FROM Periode, Clients INNER JOIN Commandes ON Clients.[Code client] = Commandes.[Code client]
WHERE (((Month([journee]))=[indiquez le mois]) AND ((Commandes.Heure) Between #12/30/1899 15:0:1# And #12/30/1899 21:0:0#));

Mais je n’y arrive pas pour la soiréé de 21h à 03h du matin

Requête soiréee
SELECT Clients.[Code client], Commandes.[Code client], Clients.Prenom, Commandes.Journee, Commandes.Orientation, Commandes.Heure
FROM Periode, Clients INNER JOIN Commandes ON Clients.[Code client] = Commandes.[Code client]
WHERE (((Month([journee]))=[indiquez le mois]) AND ((Commandes.Heure) Between #12/30/1899 15:0:1# And #12/30/1899 21:0:0#));

Le résultat me donne le relevé de 15h à 21h de tous les jours du mois

Table Commandes
Nom du champ Type de données Description

N° commande NuméroAuto
Code client Numérique
N° employé Numérique
Date commande Date/heure
Heure Date :heure
Journée Date :heure

Propriétés du champ : Date commande

Valeur par défaut : date()

Propriétés du champ : Journée
Valeur par défaut : VraiFaux(Temps()>='00:01' Et Temps()<='04:00';Date()-1;Date())

J’espère être asez clair dans mes explications pour que vous puissiez m’aider.
Merci d’avance Bob
 

chris

XLDnaute Barbatruc
Re : Requête sur tranches horaires

Bonjour

Tu as mis 2 fois la même chose.

Je ne sais pas comment sont tes données : il faut que le champ heure dans la table soit au format date abrégée.

Dans la requête : >=#21:00:00# Ou <=#03:00:00# marche mais quand cela se passe entre 00:00 et 03:00 c'est le jour suivant en fait.

Ton champ journée semble régler ce point : attention aux PB des fins de mois.
 
Dernière édition:

bobafric

XLDnaute Occasionnel
Re : Requête sur tranches horaires_RESOLU

Merci Chris
ça marche, je n'étais pas loin mais il me fallait ton aide
Voici le résultat

SELECT Clients.[Code client], Commandes.[Code client], Clients.Prenom, Commandes.Journee, Commandes.Heure, Commandes.Orientation
FROM Periode, Clients INNER JOIN Commandes ON Clients.[Code client] = Commandes.[Code client]
WHERE (((Commandes.Heure)>=#12/30/1899 21:0:0# Or (Commandes.Heure)<=#12/30/1899 3:0:0#) AND ((Month([journee]))=[indiquez le mois]));

A bientôt
Bob
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…