Bonjour,
J'ai créé 17 formulaires/tables sur le même principe.
Chaque formulaire comporte des questions, la réponse s'écrit dans une textbox juste en dessous et un menu à droite permet à l'utilisateur de préciser si la réponse est "Done", "In Progress" ou "Undone".
Ces menus fournissent une valeur 1 pour Undone, 2 pour In Progress et 3 pour Done.
Ces valeurs sont enregistrées dans la table correspondant au formulaire (comme ça, on perd pas le choix du menu lorsqu'on ferme l'application).
Sur la page de garde, un bouton changeant de couleur correspond à chacune des pages-questions.
On se retrouve donc avec 17 boutons, qui changent de couleur si l'ensemble des questions d'une même page sont Done ou Undone.
Exemple : le bouton pour la page-question numéro 5 (il y a 9 questions dans cette page) est de couleur verte si le total des menus est de 27 (3 fois 9, 3 fois Done), rouge si le total est 9 (3 fois Undone) et jaune/orange autrement.
Jusqu'à présent je lançais les calculs au chargement de la page de garde.
On Load, 17 calculs allant à chaque fois chercher les valeurs de chaque menus (70 menus au total), etc.
C'était lourd....
Désormais je souhaiterais obtenir sur une table séparée l'ensemble des sommes de chaque page-question. Et me servir des valeurs à partir de là.
En gros, une table avec 17 colonnes et la somme correspondante à chaque page dans chaque colonne, puis lier chaque couleur de boutons à la valeur d'une colonne spécifique.
J'ai créé une requête qui calcule l'ensemble des sommes de chaque page-question.
Nom de la requête : Q_Tot
J'obtiens ceci:
Page 1 ! Page 2 ! Page 3....
7 ! 13 ! 8
Je souhaiterais, via mon code VBA; aller 'piocher' dans cette requête la valeur correspondant à la page.
PROBLEME : Je ne sais pas du tout comment aller chercher une valeur spécifique dans une requête via du VBA, même après avoir lu les tutos (je débute en Access et en VBA et n'ai jamais fait de SQL).
Voici mon code pour la page-question numéro 4:
BTB4 est le bouton sur la page de garde qui doit changer de couleur selon l'états des questions de la page 4
Ce code se charge sur la page de garde.
Sauriez-vous comment faire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub Form_Load() Dim totB4 As Integer totB4 = 'ICI je devrais avoir la valeur de la colonne 4 de la requête Q_Tot Select Case totB4 Case 8 Me.BTB4.QuickStyle = 38 Case 24 Me.BTB4.QuickStyle = 39 Case Else Me.BTB4.BackColor = RGB(255, 194, 14) End Select End sub
Je m'y prends peut être complètement de travers. Si-t-elle est le cas, que dois-je faire?
Merci d'avance pour l'aide.
David
Partager