Access probleme de calcul

Fermé
penellope Messages postés 73 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 mars 2004 - 21 août 2003 à 10:01
blux Messages postés 26536 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 - 3 oct. 2003 à 14:27
Bonjour

j'ai fait une base acces avec interface VBA
Dans cette bes j'effectue des calcul sur des chiffre a 2 decimales
et des conversion franc euro
Seulement il y a un petit probleme avec la conversion c'est e dire que 100 euros font 700 francs
Comment resoudre ce probleme?

Merci
Penellope
A voir également:

20 réponses

Utilisateur anonyme
21 août 2003 à 10:27
Salut peneloppe,

J'ai eu le même problème que toi. J'ai créés une fonction à cet effet. Attention, comme je suis belge, eh oui ça existe, l'arrondit est à 4 décimales.

Function Arrondi(valeur As Double) As Double
Dim Dec3 As Integer

valeur = Int(valeur * 1000) / 1000
Dec3 = (valeur * 100 - Int(valeur * 100)) * 10

If Dec3 >= 5 Then
valeur = valeur + 0.01 - Dec3 * 0.001
Else
valeur = valeur - Dec3 * 0.001
End If

Arrondi = valeur

Exit Function
End Function

Rien n'est plus dangereux qu'une idée quand on a 
qu'une idée
  :-)
0
penellope Messages postés 73 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 mars 2004 1
21 août 2003 à 10:35
Merci mais ca ne resoud pas mon probleme de conversion

meme avec ton arrondi mes 100 euros font toujours 700FRS

Voila comment je fait ma conversion
Conversion = 6.55957
txtSoldeCodevi.Value = Format(txtSoldeCodevi.Value * Conversion, "#####0.000")


Si tu as une autre suggestion

Merci
Penellope
0
Utilisateur anonyme
21 août 2003 à 10:44
Il doit y avoir une de tes variables qui a le format "Long Int".
Est tu sûrs que le format attribué à ton champ txtSoldeCodevi est bien du type "Standart" ou tout autre format avec décimales?

Je n'ai aucun problème en utilisant le même code et les mêmes vriables que toi.

Rien n'est plus dangereux qu'une idée quand on a 
qu'une idée
  :-)
0
penellope Messages postés 73 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 mars 2004 1
21 août 2003 à 10:46
Comment tu fait pour mettre la textbox au format standard?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
penellope Messages postés 73 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 mars 2004 1
21 août 2003 à 10:51
C bon j'ai trouver la solution
Ma variable conversion etait de type long c pour ca que ca marchais pas
je l'ai mise en double et ca marche
Merci
0
Utilisateur anonyme
21 août 2003 à 10:51
Quand tu ouvres ton form en mode "design". Tu sélectionne le champ et soi:
Tu clicks droit sur le champ et tu demandes "Properties"
Tu clicks sur l'icone properties dans la barre de menu.

En suite, tu clicks sur l'onglet "Format" et dans la première ligne tu sélectionne le format.

Rien n'est plus dangereux qu'une idée quand on a 
qu'une idée
  :-)
0
penellope Messages postés 73 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 mars 2004 1
21 août 2003 à 10:53
c bon j'ai trouver tu avais raison ma variable avait le format long
je l'ai mise en double et ce marche

Merci beaucoup
Penellope
0
Eustache HAOUDOU
27 sept. 2003 à 11:53
Bonjour!
Je fais un développement en access. Il s'agit pour cette application de calculer les notes des élèves d'un établissement. le problème est comment automatiser ce calcul lorsque le nombre de notes varient par professeur et par classe.
Merci de m'aider.
Eustache
0
penellope Messages postés 73 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 mars 2004 1
27 sept. 2003 à 13:13
je ne comprend pas bien ou se situe ton probleme est ce qu'il se situe dans ta base de donnée ou bien dans ton interface?
0
Eustache HAOUDOU
29 sept. 2003 à 10:42
Merci de me répondre!
Mon problème se touve au niveau de la base de données
0
Eustache HAOUDOU
29 sept. 2003 à 10:57
Merci de me répondre!
Mon problème se touve au niveau de la base de données
0
penellope Messages postés 73 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 mars 2004 1
29 sept. 2003 à 10:48
Bon alors quand tu dis que tu veut calcuelr les notes des eleves d'un lycee je pense qu'en fait tu parles des moyenne des eleves est ce que je me trompe?
Si c'est bien les moyenne que tu veux calculer tu peux créer des requete qui te permettront de calculer ces moyennes
Tu as deja travailler avec Access?
0
penellope Messages postés 73 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 mars 2004 1
29 sept. 2003 à 11:01
Tu n'as pas repondu a mes questions !
0
eustachesani Messages postés 22 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 11 janvier 2004
30 sept. 2003 à 19:58
j'ai deja developpé l'application sous access et j'arrive à calculer les moyennes des élèves. mais ilse pose un problème au niveau des notes d'interrogation qui varient selon les classes et suivant les professeurs. un même élève peut par exemple avoir trois notes d'interogation dans une matière ou 2 ou4. alorsque le nombre n'est pas fixe comment calculer de façon automatique les moyennes d'interrogation? je rapelle que pour avoir la moyenne par matière d'un élève, il faut calculer d'abord la moyenne d'interrogation qu'on doit ajouter aux notes de devoir. voilà au fait mon problème.
eustache
0
blux Messages postés 26536 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
1 oct. 2003 à 10:24
Bonjour,

ACCESS propose la fonction moyenne, qui permet de sortir la moyenne d'une liste en SQL.

C'est la fonction AVG.

Tu devrais pouvoir t'en sortir avec...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
penellope Messages postés 73 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 mars 2004 1
30 sept. 2003 à 20:18
je crois que je comprend ton probleme lorsque tu as develloper ton application est ce que tu as mis a part tes notes d'interrogation?
En fait je me demande si ton probleme ne viens pas de la creation de tes tables?
Est ce que tu a essayer de creer une requete qui contiendrais les nom des eleves et leur notes d'interrogation et avec ta requete tu calcule les moyene des interrogation
Si c'est pas ca est ce que tu pourrais me dire ce que tu as comme tables et les colonnes de ces tables je pourrais peut etre t'aider plus precisement
0
eustachesani Messages postés 22 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 11 janvier 2004
1 oct. 2003 à 11:32
je tiens à vous remercier pour avoir lu et ou répondu à mes préoccupations.
voilà au fait les tables que j'ai créées:
ELEVES(CodElève, NumMatric, NomElève,DatNaissElève,Sexe, FilsEnseignant, #Classe#)
CLASSES(Classe, Effectif)
PROFESSEUR(CodProf,NomProf,StatutProf,DatNaissProf,Diplome,Grade)
DISCIPLINE(CodDiscipline,Libellé)
NOTES(CodElève,CodDiscipline,CodProf,NumSemestre,Interro1,Interro2,Interro3, Interro4,Devoir1,Devoir2)
SEMESTRE(NumSemestre,LibSemestre)

je rapelle qu'une année scolaire est composée de 2 semestre et que le nombre de notes d'interrogation peut varier selon les discplines, les professeurs et les semestres)
0
penellope Messages postés 73 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 7 mars 2004 1
1 oct. 2003 à 12:05
Peut etre fudrait il que tu coupe ta table NOTES en 2
une contenant :CodElève,CodDiscipline,CodProf,NumSemestre,Interro1,Interro2,Interro3, Interro4
L'autre contenant :CodElève,CodDiscipline,CodProf,NumSemestre,Devoir1,Devoir2
Ensuite tu pourrais faire la moyene des interrogations d'un cote avec en SQL AVG comme l'a suggere BLUX
La moyenne des devoir de l'autre avec AVG egalement
En suite tu n'aurais plus qu'a ajouter les 2 moyennes
Tout cela tu le fais dans des requetes bien sur
J'espere que ca t'aidera sinon n'hesite pas a demander de l'aide a nouveau
0
blux Messages postés 26536 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
1 oct. 2003 à 15:24
euh, si on veut être correct du point de vue relationnel, il faut que la table note soit une table à part entière avec un lien sur les élèves ce qui permettra d'enregistrer n notes d'interro et n notes de devoir.

on rajoute aussi un champ 'type de note' qui permet de savoir quelle note est enregistrée (interro, devoir) et comme ça on peut faire autant de calculs que l'on veut...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
eustachesani Messages postés 22 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 11 janvier 2004
2 oct. 2003 à 12:49
Merci pour le coups de pousse. mais je voudrais toujours savoir comment utiliser la fonction AVG pour faire le calcul. je ne sais pas utiliser cette fonction. si possible donnez-moi tous les détails.
Merci- Eustache
0
blux Messages postés 26536 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
2 oct. 2003 à 13:05
Et bien, c'est une fonction intégrée à SQL au même titre que SUM, MIN, MAX, COUNT...

Ex :
SELECT AVG (note) FROM tab_note ;

L'aide des fonctions SQL en indique le fonctionnement précis... :-)

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
eustachesani Messages postés 22 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 11 janvier 2004
2 oct. 2003 à 23:58
je n'est pas compris. en plus si les tables étaient fractionnées, comment mettre en relation les tables notes entre elles?
0
blux Messages postés 26536 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
3 oct. 2003 à 14:27
en fait, ta table note ne doit pas avoir les champs 'interro1, interro2, ...', c'est à cause de ça que tu ne peux pas faire tes moyennes de manière simple, cette table doit avoir uniquement deux ou trois champs (hormis les clés...) : numéro de la note (identifiant de manière unique la note, partie de la clé), type de note (interro ou devoir), note (valeur de la note).

le lien se fera avec une jointure normale lors de la requête...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0