OVH Cloud OVH Cloud

Comptage de champs

4 réponses
Avatar
chris
Bonjour
dans un de mes formulaires j'ai des champs "numériques"
où je dois compter les valeurs dans un autre champ et mettre le résultat en
ne gardant que le chiffre des unités pas celui des dizaines

ce n'est pas très clair comme explication, je met un exemple
Champ heure : 12:54
champ suivant contenant le résultat : 2
dans ce champ le calcul doit être : 1+2+5+4=12 donc on ne garde que le 2
sur un autre champ si j'ai comme valeur : 55456
le champ suivant doit donner : 5+5+4+5+6=25 donc comme valeur 5 (on ne garde
que les unités pas les dizaines)
j'espère avoir été clair
Est-ce possible de faire ce calcul
Merci à tous

4 réponses

Avatar
Parsifal
Bonjour
dans un de mes formulaires j'ai des champs "numériques"
où je dois compter les valeurs dans un autre champ et mettre le rés ultat en
ne gardant que le chiffre des unités pas celui des dizaines

ce n'est pas très clair comme explication, je met un exemple
Champ heure : 12:54
champ suivant contenant le résultat : 2
dans ce champ le calcul doit être : 1+2+5+4 donc on ne garde que le 2
sur un autre champ si j'ai comme valeur : 55456
le champ suivant doit donner : 5+5+4+5+6% donc comme valeur 5 (on n e garde
que les unités pas les dizaines)
j'espère avoir été clair
Est-ce possible de faire ce calcul
Merci à tous


resultat=((nombre/10)-int(nombre/10))*10


Avatar
Nicolas G
resultat=((nombre/10)-int(nombre/10))*10
...

c'est une demi-réponse, correct après que tu ai réussi à faire la somme de
tous les chiffres. donc ici nombre vaut 12, ou 25 et résultat = 2 ou 5.
je voulais juste préciser, mais je ne sais pas t'aider pour calculer la
somme des chiffres... à part faire une boucle sur chaque caractère et
sommer(!)(donc en une macro vba)
Nicolas


Bonjour
dans un de mes formulaires j'ai des champs "numériques"
où je dois compter les valeurs dans un autre champ et mettre le résultat en
ne gardant que le chiffre des unités pas celui des dizaines

ce n'est pas très clair comme explication, je met un exemple
Champ heure : 12:54
champ suivant contenant le résultat : 2
dans ce champ le calcul doit être : 1+2+5+4 donc on ne garde que le 2
sur un autre champ si j'ai comme valeur : 55456
le champ suivant doit donner : 5+5+4+5+6% donc comme valeur 5 (on ne garde
que les unités pas les dizaines)
j'espère avoir été clair
Est-ce possible de faire ce calcul
Merci à tous


resultat=((nombre/10)-int(nombre/10))*10





Avatar
Jac
Salut Chris,

ton problème, c'est des maths, ou du calcul sur du texte, rien d'autre.

Partant de 25 pour ne garder que le 5
par les maths = (25/10 - ent(25/10))*10
25/10 = 2,5
ent(25/10) = 2 (partie entière)
donc 2,5 - 2 = 0,5
et 0,5 * 10 = 5

Il existe peut-être une fonction de calcul qui prend la partie décimale,
mais je ne la connais pas.

par les fonctions de texte : droite(25;1)*1
donc on multiplie l'unité par 1 pour être sûr qu'Access considère le
résultat comme un chiffre.

C'est tout...

Je pense que ton calcul te permet d'obtenir un clé de contrôle pour tes
valeurs. Dans d'autres domaines, "ça" s'appelle clé RIB, par exemple. Ça se
calcule en prenant le reste de la division du n° de compte par 97 qui est le
plus grand nombre premier à 2 chiffres. Le calcul = mod(123456789;97). Tu
peux tester avec ton n° de compte en banque.
Donc c'est très facile de contrôler si le n° qu'on a est compatible avec le
code ce contrôle.

Dans ton cas tu pourrais essayer avec 7 (plus grand nombre premier à un
chiffre).
Calcul = mod(25;7) qui donne 4.
Ce qui t'éviterait de saucissonner les nombres pour en faire la somme (au
fait, comment tu fais ?), sauf pour les heures... Rien n'est parfait.
A toutes fins utiles, si ça peut te servir.

Jac


"chris" a écrit dans le message de news:
%
Bonjour
dans un de mes formulaires j'ai des champs "numériques"
où je dois compter les valeurs dans un autre champ et mettre le résultat
en ne gardant que le chiffre des unités pas celui des dizaines

ce n'est pas très clair comme explication, je met un exemple
Champ heure : 12:54
champ suivant contenant le résultat : 2
dans ce champ le calcul doit être : 1+2+5+4 donc on ne garde que le 2
sur un autre champ si j'ai comme valeur : 55456
le champ suivant doit donner : 5+5+4+5+6% donc comme valeur 5 (on ne
garde que les unités pas les dizaines)
j'espère avoir été clair
Est-ce possible de faire ce calcul
Merci à tous


Avatar
chris
Je pense que je vais plancher sur le les chemins que vous m'avez donné

Merci de votre aide
Chris

"Jac" a écrit dans le message de news:
44861153$0$6172$
Salut Chris,

ton problème, c'est des maths, ou du calcul sur du texte, rien d'autre.

Partant de 25 pour ne garder que le 5
par les maths = (25/10 - ent(25/10))*10
25/10 = 2,5
ent(25/10) = 2 (partie entière)
donc 2,5 - 2 = 0,5
et 0,5 * 10 = 5

Il existe peut-être une fonction de calcul qui prend la partie décimale,
mais je ne la connais pas.

par les fonctions de texte : droite(25;1)*1
donc on multiplie l'unité par 1 pour être sûr qu'Access considère le
résultat comme un chiffre.

C'est tout...

Je pense que ton calcul te permet d'obtenir un clé de contrôle pour tes
valeurs. Dans d'autres domaines, "ça" s'appelle clé RIB, par exemple. Ça
se calcule en prenant le reste de la division du n° de compte par 97 qui
est le plus grand nombre premier à 2 chiffres. Le calcul =
mod(123456789;97). Tu peux tester avec ton n° de compte en banque.
Donc c'est très facile de contrôler si le n° qu'on a est compatible avec
le code ce contrôle.

Dans ton cas tu pourrais essayer avec 7 (plus grand nombre premier à un
chiffre).
Calcul = mod(25;7) qui donne 4.
Ce qui t'éviterait de saucissonner les nombres pour en faire la somme (au
fait, comment tu fais ?), sauf pour les heures... Rien n'est parfait.
A toutes fins utiles, si ça peut te servir.

Jac


"chris" a écrit dans le message de news:
%
Bonjour
dans un de mes formulaires j'ai des champs "numériques"
où je dois compter les valeurs dans un autre champ et mettre le résultat
en ne gardant que le chiffre des unités pas celui des dizaines

ce n'est pas très clair comme explication, je met un exemple
Champ heure : 12:54
champ suivant contenant le résultat : 2
dans ce champ le calcul doit être : 1+2+5+4 donc on ne garde que le 2
sur un autre champ si j'ai comme valeur : 55456
le champ suivant doit donner : 5+5+4+5+6% donc comme valeur 5 (on ne
garde que les unités pas les dizaines)
j'espère avoir été clair
Est-ce possible de faire ce calcul
Merci à tous