Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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 21/04/2008, 17h06   #1
Membre du Club
 
Inscription : février 2005
Messages : 212
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 212
Points : 62
Points : 62
Par défaut Fonction sur série de données avec champs dynamique

Bonjour à tous,

Je cherche à calculer une variance d'une serie statistique.
Dans un premier champ j'ai mon ID.
Tous les autres champs contiennent les valeurs devant être prise en compte dans le calcule de la variance. (champ date)

Pb : ces champs sont aléatoire et je ne connais pas leur intitulés (champ dynamique).

Questions :
Est-il possible de calculer une variance ou tout autre fonction (somme, ecart-type) dans le dernier champ (de la requete ou de la table) sans connaître ni le nombre ni le nom des champ précédent ?

Il est certainement possible de le faire en VBA en reprenant dynamiquement le nom des champs. Mais alors comment faire pour calculer la variance. peut-être mettre en mémoire la valeur de chaque champ ?

Si quelqu'un d'entre vous à déjà été confronté à ce genre de problème je suis preneur !

Merci pour votre aide !
Sam 069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 18h08   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 887
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 887
Points : 10 742
Points : 10 742
Envoyer un message via MSN à jpcheck
Bonjour,
tu peux faire ca avec un recordset + boucle for each ou alors voir DVar()
exemple avec le VBA :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
dim strSQL as String
dim RS as DAO.Recordset
dim tmpFld as Field
dim somme as Double
dim moyenne as Double
dim ecarttype as Double
strSQL = "SELECT * FROM MaTable"
set RS = CurrentDb.Openrecordset (strSQL)
do until RS.EOF
somme = 0
For each tmpFld in RS.Fields
somme = somme + Cdbl(tmpFld.Value)
next
moyenne = somme / RS.Fields.Count
'autres calculs savant ;)
RS.MoveNext
Loop
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 19h57   #3
Membre du Club
 
Inscription : février 2005
Messages : 212
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 212
Points : 62
Points : 62
Ok merci je vais essayer. Mais ca doit fonctionner.
Puis sur chaque value du rst Je fais une petite requete d'update apres pour historiser le calcul sur l'ID.
Merci pour ton aide.
Sam 069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2008, 10h26   #4
Membre du Club
 
Inscription : février 2005
Messages : 212
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 212
Points : 62
Points : 62
Il y a un problème sur cette ligne

For Each tmpFld In RS.Fields

tmpFld est vide.
Sam 069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2008, 11h27   #5
Membre du Club
 
Inscription : février 2005
Messages : 212
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 212
Points : 62
Points : 62
Pb résolu.
il faut définir la variable tmpfield comme ca :

Dim tmpFld As DAO.Field

Merci à tous.
Sam 069 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 19h47.


 
 
 
 
Partenaires

Hébergement Web