cyrilmullard
Messages postés2Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention11 mai 2007
-
11 mai 2007 à 16:10
cyrilmullard
Messages postés2Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention11 mai 2007
-
11 mai 2007 à 18:23
Bonjour a tous,<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>
Je réalise actuellement une base de données sous ACCESS 2003 permettant a partir de l’analyse microsonde d’un grain de définir sa formule chimique et donc le minéral dont il s’agit.
Pour chaque grain on analyse différents oxydes : SiO2, TiO2, etc.
Ensuite je réalise une requete incluant la création de nombreux champs calculés.
Mon premier probleme concerne la lourdeur de ces calculs. Je m’explique.
Chaque champs calculé est basé sur un autre champs calculé et il m’est impossible de créer tous les champs calculés car la requete s’avere trop complexe ou la mémoire insuffisante.
Pour alléger certaines formules, je souhaite donc passer par la création de fonctions en VBA mais je suis débutant et je rame énormément. C’est pourquoi je fais appel a vos lumieres.
Voici un petit exemple :
- Soit G1 et G2 deux champs calculés basés sur les teneurs en poids d’oxydes :
Ex pour une ligne d’enregistrements : G1 686,2137 et G2 542,4545 etc.
- Je créé ensuite un champs calculé nommé Dominant qui compare ces deux champs et affiche la valeur maximale. Via le code :
Public Function VariableMax(ParamArray LesVariables() As Variant)
Dim intVariable As Integer
Dim varMax
For intVariable = 1 To UBound(LesVariables())
If LesVariables(intVariable) > varMax Then varMax = LesVariables(intVariable)
Next intVariable
VariableMax = varMax
End Function</code>
Ex d'une ligne d’enregistrements : G1 686,2137 et G2 542,4545 et Dominant = 686
- Maintenant je souhaite créer un champs Molecule qui affiche le nom du champs contenant la valeur maximale.
Ex une ligne d’enregistrements : G1 686,2137 et G2 542,4545 et Dominant = 686 et Molecule = G1
cs_lermite222
Messages postés492Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 2 juillet 20124 11 mai 2007 à 17:54
bonjour,
J'ai été confronté au même problème pour une autre formule (enthalpie de l'air en fonction de la Tp et de l'Hu) mais il faut d'abord établir la formule mathématique qui te permette d'arriver a en trouver le résultat. Ensuite cela parait simple pour transcrire ces données dans un tableau.
1°) Evaluer la formule, soit en une partie ou en plusieur, mais plus simple de les initialiser en une seule formule. Ensuite, la réalisation devient un jeu d'enfant.
Je ne sais pas si j'ai été clair mais c'est une des solutions.
Je reviendrais sur ce poste, il m'interesse.
A+
louis
cyrilmullard
Messages postés2Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention11 mai 2007 11 mai 2007 à 18:23
Bonjour Louis,
En fait pour chaque analyse, j'ai une trentaine de champs calculés basés les uns sur les autres mais on souhaite tous les renseigner.
Ex :
- A=16 basé sur les poids d'oxydes
- Porportions cationiques de chaque élément basées sur A=16 et le poids dòxyde de -l`élément concerné
etc...
Certaines formules sont des conditionnelles donc tu vois je suis obligé de décomposer.
Je souhaiterais traduires les plus complexes en fonction mais je ne sais pas programmer correctement.