Bonjour,
Je me suis récemment mis au SQL et à Access suite aux limites d'Excel pour mon traitement de données. Résultat : je découvre le SQL et j'avoue être un peu perdu, heureusement que ce forum est là, il y a déjà beaucoup de sujets qui ont pu m'aider !
J'arrive cependant à une impasse... Je souhaite, à partir d'un formulaire, sortir un numéro de semaine. A partir de là, j'aimerais récupérer ce numéro, et l'inclure en tant que variable dans une requête. Jusque là tout va bien, sauf que ça ne marche que si je reste dans une table précise. Or, je souhaiterai que ce numéro de semaine me permette de changer les tables sources de ma requête, et pas les données sur lesquelles ont effectue cette même requête.
Pour illustrer, voici une capture d'écran :
Je fonctionne avec 2 requêtes pour effectuer mon traitement de données, voici les codes :
La première, appelée Compilation anneaux/données
Et la seconde, appelée valeurs moyenne par anneau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT [semaine 1 anneau].[Anneau No], [Colorimétrie semaine 1].[L*], [Colorimétrie semaine 1].[a*], [Colorimétrie semaine 1].[b*], [semaine 1 anneau].Date FROM [Colorimétrie semaine 1] INNER JOIN [semaine 1 anneau] ON [Colorimétrie semaine 1].[Date&Heure] = [semaine 1 anneau].[Date&Heure];
Je pense qu'il faudrait pouvoir insérer la variable dans la première requête, en remplaçant le "1" par "la_variable", mais je n'y suis pour le moment pas parvenu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT [Compilation anneaux/données].[Anneau No], Avg([Compilation anneaux/données].[L*]) AS [MoyenneDeL*], Avg([Compilation anneaux/données].[a*]) AS [MoyenneDea*], Avg([Compilation anneaux/données].[b*]) AS [MoyenneDeb*], [Compilation anneaux/données].Date FROM [Compilation anneaux/données] GROUP BY [Compilation anneaux/données].[Anneau No], [Compilation anneaux/données].Date;
J'espère avoir suffisamment détaillé, merci d'avance à vous !
Herak'
EDIT :
J'ai oublié de vous fournir le code de mon bouton qui exécute tout cela :
Pour l'instant non fonctionnel, j'éditerai au fur et à mesure de mes avancées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Option Compare Database Private Sub Traitement_Colorimétrie_Click() Dim SemaineNo As String Forms("Traitement des données").Controls("SemaineNo").Value Forms.Traitement des données.Value = rs01.Fields("SemaineNo").Value Replace "Compilation anneaux/données", 1, SemaineNo DoCmd.SetWarnings False DoCmd.OpenQuery ("Compilation anneaux/données") DoCmd.SetWarnings False DoCmd.OpenQuery ("Moyenne valeurs a* b* L* par anneau") DoCmd.RunMacro ("ExportExcel") End Sub
Partager