ACCESS: Cocher plusieurs cases avec un bouton

Nicow -  
 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.

4 réponses

LatelyGeek Messages postés 1759 Statut Membre 550
 
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...
1
Nicow
 
Génial!

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.
0
LatelyGeek Messages postés 1759 Statut Membre 550
 
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...)
1
Nicow
 
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.
0
LatelyGeek Messages postés 1759 Statut Membre 550
 
Il y a aussi requery("me!Target_1")
1
Nicow
 
"Compile error: Wrong number of arguments or invalid property assignment"

Il faudrait trouver une autre méthode que "requery", qui ne marche visiblement pas avec les cases à cocher...

En tout cas, un grand merci pour ton aide.

Si tu as d'autres suggestions, n'hésite pas...

Nico.
0
LatelyGeek Messages postés 1759 Statut Membre 550
 
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
0
toto198275
 
Dim strDate As String
strDate = Format(Date, "dd-mm-yy")
MonMessage.Attachments.Add "G:\PB" & strDate & ".xls"

j ai le message suivant !

COmpile error: wrong number of aruments or invalid property assignment!

une idee ?
0