ACCESS: Cocher plusieurs cases avec un bouton
Nicow
-
toto198275 -
toto198275 -
Bonsoir,
J'ai créé une base de données contenant déjà plusieurs formulaires liés entre eux (ça ressemble à une petite application) et tout fonctionne à merveille. Mais je bloque sur une petite chose, parce que je débute et que je ne connais rien en VBA.
J'ai une table contenant 8 champs "target_1", "target_2"..., chacune correspondant à une tranche d'âge (ça doit être très précis). Dans un formulaire, j'ai donc créé des cases à cocher pour pouvoir faire une sélection multiple. J'aimerais créer un bouton qui, quand on clique dessus, coche automatiquement les 8 cases, pour plus de simplicité (parce que ça arrive de devoir toutes les cocher).
Image du formulaire ici: http://www.nvdp.be/upload/events.png
Merci d'avance pour vos réponses =)
Nico.
J'ai créé une base de données contenant déjà plusieurs formulaires liés entre eux (ça ressemble à une petite application) et tout fonctionne à merveille. Mais je bloque sur une petite chose, parce que je débute et que je ne connais rien en VBA.
J'ai une table contenant 8 champs "target_1", "target_2"..., chacune correspondant à une tranche d'âge (ça doit être très précis). Dans un formulaire, j'ai donc créé des cases à cocher pour pouvoir faire une sélection multiple. J'aimerais créer un bouton qui, quand on clique dessus, coche automatiquement les 8 cases, pour plus de simplicité (parce que ça arrive de devoir toutes les cocher).
Image du formulaire ici: http://www.nvdp.be/upload/events.png
Merci d'avance pour vos réponses =)
Nico.
A voir également:
- Accès à case à cocher précédente
- Access appdata - Guide
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- [Access] creer base données client-produits - Forum Programmation
4 réponses
Je n'ai pas réussi à charger ton image, mais dans le principe ça me paraît assez simple.
Me!Choix1.value = True
Me!Choix2.Value = true
etc...
Me!Choix1.value = True
Me!Choix2.Value = true
etc...
Tu peux essayer juste un me!Choix1.requery (et sur les autres aussi évidemment, mais ça me paraît bizarre que tu aies besoin de rafaîchir...)
En fait, ça me semble aussi bizarre... Parce que sur les nouvelles entrées, ça fonctionne sans problème. C'est quand je modifie une entrée existante que j'ai un problème: les valeurs sont mises à jour mais les cases à cocher restent dans leur état précédent. Si je vais à l'enregistrement suivant et que je reviens, les cases se remettent à jour (toutes cochées). C'est un problème pour moi, car si quelqu'un clique sur le bouton accidentellement et que ce n'est pas visible, l'entrée enregistrée n'est forcément pas correcte (valeurs toutes mises à "True" alors que l'utilisateur avait fait une sélection).
J'ai donc plusieurs solutions: rafraîchir le formulaire après avoir appliqué la fonction (Me!TARGET_1.Value = True) pour chaque valeur, ce qui fonctionne nickel sur les entrées à modifier mais pas sur les nouvelles entrées (il donne comme erreur que certains champs obligatoires ne sont pas remplis); je pourrais aussi faire en sorte de bloquer le bouton quand le formulaire est sur une entrée déjà existante, ou d'adapter le code en connaissance, mais je ne connais rien en VBA donc je ne trouve rien...
Merci de m'aider =)
Nico.
PS: J'ai essayé ce que tu m'as dit mais ça ne fonctionne pas. Quand je tape "Me!TARGET_1.", je n'ai comme choix que "Value". Si je tape une autre commande à la suite, il me dit que l'objet (case à cocher) ne la supporte pas.
J'ai donc plusieurs solutions: rafraîchir le formulaire après avoir appliqué la fonction (Me!TARGET_1.Value = True) pour chaque valeur, ce qui fonctionne nickel sur les entrées à modifier mais pas sur les nouvelles entrées (il donne comme erreur que certains champs obligatoires ne sont pas remplis); je pourrais aussi faire en sorte de bloquer le bouton quand le formulaire est sur une entrée déjà existante, ou d'adapter le code en connaissance, mais je ne connais rien en VBA donc je ne trouve rien...
Merci de m'aider =)
Nico.
PS: J'ai essayé ce que tu m'as dit mais ça ne fonctionne pas. Quand je tape "Me!TARGET_1.", je n'ai comme choix que "Value". Si je tape une autre commande à la suite, il me dit que l'objet (case à cocher) ne la supporte pas.
Ecoute, j'ai créé vite fait un formulaire basé sur une table contenant 3 Oui/Non et un champ à saisie obligatoire pour essayer de résoudre ton problème, mais chez moi, le bouton coche toutes les cases sur les anciens enregistrements comme sur les nouveaux.
Je sais plus quoi te dire, sauf si tu veux bien me poster ta base pour que je regarde en direct si je vois un truc qui cloche...?
En attendant je te poste la mienne pour que tu regardes si tu vois une différence avec la tienne...
https://www.cjoint.com/?dvsTp4ahvL
Je sais plus quoi te dire, sauf si tu veux bien me poster ta base pour que je regarde en direct si je vois un truc qui cloche...?
En attendant je te poste la mienne pour que tu regardes si tu vois une différence avec la tienne...
https://www.cjoint.com/?dvsTp4ahvL
Merci pour ton aide. C'est simple, en fait... J'ai encore une question toute conne (après, promis, je vais acheter "VBA pour les nuls"): Quand je clique sur mon bouton, il semble ne rien se passer. Il faut rafraîchir le formulaire. Là, pas de problème avec un "Form.Refresh" ou "Me.Refresh" (d'ailleurs, quelle est la différence?)... Le problème, c'est que quand je crée une nouvelle entrée avec mon formulaire, certains champs ne sont forcément pas encore remplis et vu qu'ils sont obligatoires, j'ai droit à une erreur.
Y a-t-il moyen d'éviter ça? J'ai essayé plusieurs commandes (On Error GoTo, Err_cmd_Click: etc.) mais je n'ai pas encore trouvé la solution.
Encore merci,
Nico.