|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : octobre 2004 Messages : 34 ![]() |
Bonsoir
J'ai besoin d'additionner ou de soustraire des temps de fonctionnement machines exprimés en H/mm (Ex 2180h45 + 165h50). Jusqu'à maintenant je passais par Excel, où c'est vraiment simple, mais avec Access ça se complique.... J'ai récupéré un Module que l'on m'a donné : Code :
Je voudrais faire les calculs dans mes requêtes. Quelqu'un aurait il la formule magique ?? |
||
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() Inscription : mai 2006 Messages : 1 298 ![]() |
Bonjour,
Juste une remarque au passage Citation:
Code :
Dim H1 As Single, H2 As Single, AdH As Single, Hmn As Single |
|
|
|
00
|
|
|
#3 | ||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 941 ![]() |
Bonsoir,
Pas de formule magique mais on peut remplacer les Null par 0 dans les deux fonctions. Code :
Les deux fonctions renvoient une donnée de type texte. Quel est le type de donnée des champs dans la ou les tables ? Réel simple ? A+ |
||
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : octobre 2004 Messages : 34 ![]() |
Remplacer les null par des 0 serait pour moi LA solution !!
Mes champs dans les tables sont des réel doubles |
|
|
00
|
|
|
#5 | ||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 941 ![]() |
Voila les fonctions modifiées :
Code :
Je suppose que c'est pour des besoins esthétiques (afficher 12,50 pour 12H50mn au lieu de 12,5). A+ |
||
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : octobre 2004 Messages : 34 ![]() |
La dernière version de tes fonctions ne fonctionne pas correctement dans ma base (les résultats sont presque le double de la normale dans une addition)
Par contre ta première version fonctionne très bien et effectivement plus de plantage sur les champs Null !!! Te casses pas la tête pour la deuxième version, je suis déjà plus que satisfait. Grand Merci !! |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : octobre 2004 Messages : 34 ![]() |
Bonsoir
Me revoila avec mes histoires d'heures... Dites moi si j'abuse ! Maintenant que mon premier problème a été brillamment résolu, je voudrais faire une somme de ces temps de fonctionnement pour avoir les heures total d'un mois (ex : 165h30+ 23h47+1054h55+...etc) la liste contient environ une soixantaine de valeurs. Je soupçonne que le mieux est d'écrire cela dans un module mais j'ai un peu peur de me lancer, je pense que la fonction sum doit -être utilisée, mais mes compétences s'arrête là |
|
|
00
|
|
|
#8 | ||||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 941 ![]() |
Bonsoir,
Je suppose que tu veux faire ta somme dans une requête. Il faut d'abord convertir tes nombres hh.mn en nombres décimaux. Faire la somme de ces nombres convertis. Enfin convertir le résultat de la somme en nombre hh.mn Code vb :
Code sql :
|
||||
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : octobre 2004 Messages : 34 ![]() |
Nickel ! Ça marche aussi
Ça donne vraiment envie de s'y mettre plus sérieusement (à la programmation) Puisque je suis sur une bonne série, une question que je n'arrive pas à résoudre simplement depuis longtemps : Comment renseigner une table à partir d'un champs calculé dans une requête ou dans un formulaire ? Par exemple la somme des temps de fonctionnement que tu m'a fait calculer dans une requête, est-il possible d'aller mettre le résultat automatiquement dans un table pour le stocker afin qu'il ne disparaisse pas le mois d'après, écrasé par le nouveau ? Encore un grand merci !! |
|
|
00
|
|
|
#10 |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 941 ![]() |
Bonsoir,
Je pense qu'une requête de type Ajout devrait répondre à ton besoin. Tu peux faire une requête Ajout ayant pour source ta requête de calcul de durée cumulée sur une période. Tu peux aussi partir de ta requête de calcul de durée cumulée, et la transformer en requête Ajout. Depuis un champ calculé dans un formlaire il peut y avoir plusieurs façons. Ça va dépendre du contexte. Si la table à alimenter est la source du formulaire, on peut copier le contrôle calculé dans un champ de la table source du formulaire avec du code VB. Si la table à alimenter n'a aucun lien avec le formulaire, on peut créer une requête ajout récupérant des données affichées par le formulaire. Un bouton pourra alors exécuter la requête Ajout (code VB ou macro Access) A+ |
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : octobre 2004 Messages : 34 ![]() |
Je ne m'étais jamais servi des requêtes ajout, effectivement bien pratique.
Parfait, merci encore et surement à bientôt |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com