[Requete] SQL dans une requète ?
Résolu
progra
Messages postés
143
Statut
Membre
-
progra Messages postés 143 Statut Membre -
progra Messages postés 143 Statut Membre -
Bonjour,
Je suis en stage dans une entreprise. On me demande, à partir d'une base de données access, de faire une autre base de données access ayant déjà des tables que j'ai passé en requêtes à partir de des tables que j'ai ramené de l'autre base de données.
Mais il y a une donnée que je ne sais pas comment avoir.
Explication : J'ai deux champs sous la forme : hhmmss. Un champ montrant le début de l'action de l'employé (WHPRTM) et la seconde montrant la fin de l'action (WHPCTM).
La requête est faite.
Mon problème : Il y a des actions qui vont commencer à : 20h37m28s (par exemple) et finir à 6h24m39s (sur deux équipes différentes bien sûr, l'une fini à 21h et l'autre commence à 5h du matin.). Mon résultat : Un nombre négatif.
Voici ma requête pour le moment :
SELECT dbo_DMPICKHR.*, Int(([WHPCTM]-[WHPRTM])/10000*60) AS DURMIN2
FROM dbo_DMPICKHR;
(Ne faites pas attention aux termes utilisés qui peuvent vous sembler bizarre.)
Peut-on rajouter, sur Access, une code SQL étant, par exemple :
If DURMIN2 < 0 Then
DURMIN2 = (24*3600) + DURMIN2
End If.
Si je peux le faire, comment le faire ? Je ne l'ai pas appris et je ne trouve rien sur internet ... Merci beaucoup.
(S'il y a une autre solution, merci de l'aide.)
J'espère avoir bien détaillé.
Cordialement,
progra
Je suis en stage dans une entreprise. On me demande, à partir d'une base de données access, de faire une autre base de données access ayant déjà des tables que j'ai passé en requêtes à partir de des tables que j'ai ramené de l'autre base de données.
Mais il y a une donnée que je ne sais pas comment avoir.
Explication : J'ai deux champs sous la forme : hhmmss. Un champ montrant le début de l'action de l'employé (WHPRTM) et la seconde montrant la fin de l'action (WHPCTM).
La requête est faite.
Mon problème : Il y a des actions qui vont commencer à : 20h37m28s (par exemple) et finir à 6h24m39s (sur deux équipes différentes bien sûr, l'une fini à 21h et l'autre commence à 5h du matin.). Mon résultat : Un nombre négatif.
Voici ma requête pour le moment :
SELECT dbo_DMPICKHR.*, Int(([WHPCTM]-[WHPRTM])/10000*60) AS DURMIN2
FROM dbo_DMPICKHR;
(Ne faites pas attention aux termes utilisés qui peuvent vous sembler bizarre.)
Peut-on rajouter, sur Access, une code SQL étant, par exemple :
If DURMIN2 < 0 Then
DURMIN2 = (24*3600) + DURMIN2
End If.
Si je peux le faire, comment le faire ? Je ne l'ai pas appris et je ne trouve rien sur internet ... Merci beaucoup.
(S'il y a une autre solution, merci de l'aide.)
J'espère avoir bien détaillé.
Cordialement,
progra
A voir également:
- [Requete] SQL dans une requète ?
- Erreur de requete facebook - Forum Facebook
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Logiciel sql - Télécharger - Bases de données
- Difficulté avec requête SQLite ✓ - Forum Android
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
2 réponses
Bonjour,
Une solution serait d'introduire dans ta formule le calcul des heures sous la forme
If( HeureFin < HeureDebut ; ((24:00:00 - HeureDebut) + HeureFin) ; HeureFin - HeureDebut )
Je crois qu'il existe une autre possibilité par les modulos, mais celle-ci me parait plus facile à décrypter.
Bonne suite
Une solution serait d'introduire dans ta formule le calcul des heures sous la forme
If( HeureFin < HeureDebut ; ((24:00:00 - HeureDebut) + HeureFin) ; HeureFin - HeureDebut )
Je crois qu'il existe une autre possibilité par les modulos, mais celle-ci me parait plus facile à décrypter.
Bonne suite
Int(([WHPCTM]-[WHPRTM])/10000*60)
Le terme à remplacer est [WHPCTM]-[WHPRTM])
Mais si les heures sont en format numérique, c'est encore plus simple parce que Access compte les dates et les heures en continu, et alors le problème ne se pose plus!!!
" Fonction "IF" non définie dans l'expression "
Je m'en suis rendu compte après et je croyais que tu ferais la correction