Tester si les boutons à bascule sont activés
Bonjour,
Citation:
Envoyé par Serge VM
Re bonjour,
Grâce à vous mon programme fonctionne à merveille.
J'ai solutionné mes envois mail avec Thunderbird, bref c'est super.
Par contre si le formulaire est beaucoup plus beau, le passage d'une fiche à l'autre est beaucoup plus lent.
En particulier tout le pavé de boutons à bascule se ré-affiche à chaque fois en entier ce qui n'est pas beau et ralentit le passage.
Y aurait t'il une solution pour éviter se ré-affichage et que seule la couleur des boutons concernés change ?
Merci pour votre aide.
Cordialement.
Serge VM
Il aurait fallu poster votre demande sur le forum Access.
Vous pouvez améliorer les choses en testant dans la boucle si le bouton à bascule est activé ou pas, pour ne changer l'état que de ceux qui sont activés :
Code:
1 2 3 4 5
| For an = 1981 To 2030 ' parcours des années
If Me("A_" & an).Value = True Then
Me("A_" & an).Value = False ' on met le bouton à false
End If
Next an |
Le code à modifier se situe sur l'événement activation du formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| Private Sub Form_Current()
Dim an As Long
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim i As Long
For an = 1981 To 2030 ' parcours des années
If Me("A_" & an).Value = True Then
Me("A_" & an).Value = False ' on met le bouton à false
End If
Next an
Set dbs = CurrentDb
' ouverture du recordset contenant les années de l'adhérent
Set rst = dbs.OpenRecordset("select * from T_Annees_Inscrits where Id_Adherent=" & Nz(Me.Id_Adherent, 0))
Do Until rst.EOF ' parcours des années de l'adhérent
Me("A_" & rst!annee).Value = True ' on met le bouton correpondant à l'année enregistrée dans la table à True
rst.MoveNext ' prochaine année de l'adhérent
Loop
rst.Close
Set rst = Nothing
Set dbs = Nothing
End Sub |
Cdlt