Bonjour,

Pour plusieurs variables (de différentes tables) je souhaite connaitre la moyenne, le maxi, etc...

J'ai donc créé une requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sqlRequete = "SELECT DISTINCTROW Avg([Table1].[Variable1]) AS [Moyenne], Min([Table1].[Variable1]) AS [Minimum], Max([Table1].[Variable1]) AS [Maximum] FROM Table1;"
OK, ça marche.

Sauf que, comme je le disais juste au dessus, j'ai besoin de cette info pour plusieurs variables contenues dans plusieurs tables. Du coup je souhaiterais créer mes requêtes via une procédure à laquelle je passe en paramètre le nom de la table et le nom de la variable. Un truc du genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub CreationRequete(MaTable, MaVariable, NomRequete)
 
sqlRequete = "SELECT DISTINCTROW Avg(" & MaTable.MaVariable & ") AS [Moyenne], Min(" & MaTable.MaVariable & ") AS [Minimum], Max(" & MaTable.MaVariable & ") AS [Maximum] FROM " & MaTable & ";"
 
Set ReqDef = Application.CurrentDb.CreateQueryDef(NomRequete, sqlRequete)
 
DoCmd.SelectObject acQuery, Nom, True
End Sub
 
Sub CreerRequete
CreationRequete(Table1, Var1, Nom1)
CreationRequete(Table1, Var2, Nom2)
CreationRequete(Table2, Var1, Nom3
End Sub)
Et, vous ne serez sans doute pas surpris, mais ça ne marche pas.

Je ne pense pas utiliser les bons objets pour la table et les variables (c'est pour ça que je n'ai rien mis dans l'exemple ). Mais j'ai beau essayer dans tous les sens, je n'y arrive pas.

Alors :
1. est-il possible d'automatiser la création de requête en fournissant en argument le nom de la table et de la variable/des variables sur lesquelles porte la requête ?
2. si oui, comment ?

Merci d'avance pour vos réponses !

Joyeux Noël à toutes et à tous,
Laurent