Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/06/2011, 20h43   #1
Invité de passage
 
Inscription : mars 2005
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 19
Points : 4
Points : 4
Par défaut Calcul de 2 champs "heures" dans requête

Bonjour,

J'ai une requête base sur une table horaire.
Dans cette requete, j'ai 2 champs qui calculent des temps passés avec la formule suivante:
Code :
temps1: Format ([finTEMPSPASSE]-[debutTEMPSPASSE];"hh:nn")
J'obtiens un resultat du style: 00:20
les champs temps1 et temps2 ont la même syntaxe.(avec noms de champs différents bien sure)
Je souhaite Dans un autre champs faire le cumul de ces 2 champs
je mets donc la formule suivante:
Cumultemps: Format ([temps1]+[temps2];"hh:nn")
pour un cumul de 00:50 + 00:45, j'obtiens le résultat suivant:00:5000:45 au lieu de 01:35
Access colle tout simplement les 2 resultats l'un à coté de l'autre au lieu de les additionner
Si quelqu'un peu m'aider ce serait très sympa.
Pour info e resultat ne depasse jamais 24h
Merci d'avance
Cjay974
cjay974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 21h26   #2
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 258
Points : 5 258
Bonsoir,

Essaie avec la fonction de conversion CDate :

Code :
Format (CDate([temps1])+CDate([temps2]);"hh:nn")
ou plus simplement

Code :
CDate([temps1])+CDate([temps2])
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 07h56   #3
Invité de passage
 
Inscription : mars 2005
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 19
Points : 4
Points : 4
Par défaut #Erreur

Bonjour,

merci pour cette réponse, cela fonctionne mais uniquement si je n'ai pas de champs vide.
Si j'ai un champs vide cela affiche en résultat #Erreur
a savoir dans l'exemple que j'ai donné, il y a que 2 champs mais en réalité il y en a 5.
et dans la casi totalité de mes enregistrements il y a un champ vide.

merci de votre aide

Cdt

Cjay974
cjay974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 13h42   #4
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 258
Points : 5 258
Salut,

Utilise la fonction nz qui te permet de renvoyer une valeur au choix si le champ est vide:

Code :
CDate(nz([temps1];0))+CDate(nz([temps2];0))
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 18h20   #5
Invité de passage
 
Inscription : mars 2005
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 19
Points : 4
Points : 4
Par défaut toujours #Erreur

Bonsoir,
Merci pour vos reponse. néanmois j'ai toujours message #Erreur dans mon champs quand je mets cette formule:

Total temps: CDate(nz([Temps Recup];0))+CDate(nz([Temps Devis];0))+CDate(nz([Temps reparation];0))+CDate(nz([Temps prepa];0))+CDate(nz([Temps liv/demo];0))

Pour info les 4 champs Temsp Recup, Temps reparation, Temps prepa et Temps liv/demo sont tous les 4 des champs avec un résultat de calcul.

Merci d'avance

Cjay974
cjay974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 18h34   #6
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 258
Points : 5 258
Citation:
Pour info les 4 champs Temsp Recup, Temps reparation, Temps prepa et Temps liv/demo sont tous les 4 des champs avec un résultat de calcul.
Dans ce cas il faut appliquer la fonction nz sur les champs appelés dans le calcul de la requête source.

Poste un exemple de champs calculés dans la requête source...
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 18h56   #7
Invité de passage
 
Inscription : mars 2005
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 19
Points : 4
Points : 4
Par défaut #Erreur

Pour l'instant J'ai
1 TABLE INTERV
1 REQ INTERV
Dans cette req:
Champs debut recup : format heure abrégé de la table INTERV
Champs fin recup : format heure abrége de la table INTERV
Code :
Champs Temps recup : nz(Format ([fin recup]-[debut recup];"hh:nn");0)
idem pour devis, reparation, prepa, liv/demo
cjay974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 19h00   #8
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 258
Points : 5 258
Salut,

Tu as essayé comme cela :

Code :
Champs Temps recup : Format (nz([fin recup;0)]-nz([debut recup];0);"hh:nn")
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 19h21   #9
Invité de passage
 
Inscription : mars 2005
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 19
Points : 4
Points : 4
Par défaut resolu

YOUPI!!!!!!!

Royal le code
champs Temps recup : Format (nz([fin recup;0)]-nz([debut recup];0);"hh:nn")

Petite correction pour ceux qui vont lire ce post:
champs Temps recup : Format (nz([fin recup];0)-nz([debut recup];0);"hh:nn")

Merci encore Denis

@+
cjay974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h22.


 
 
 
 
Partenaires

Hébergement Web