Déterminer si un Accès case est cochée ou non
Une question aussi simple, mais je ne trouve pas la réponse (Google, MS aider, DONC):
Comment puis-je vérifier par VBA si un indépendant case à cocher sur un formulaire d'Accès est contrôlé par l'utilisateur ou pas? Ne pouvez pas trouver le droit de propriété.
Merci d'avance!
Mise à JOUR:
J'ai utilisé ce code après les suggestions de @HansUp et @RC:
Private Sub CmdTest_Click()
MsgBox "Check1.Value = " & Me.Check1.Value
MsgBox "Check2.Value = " & Me.Check2.Value
End Sub
Private Sub Form_Load()
Me.Check1.Value = 25
Me.Check2.Value = 50
End Sub
2e mise à JOUR:
Le code doit être présent (merci à @David-W-Fenton):
Private Sub CmdTest_Click()
If Me.Check1 = True Then
MsgBox "Check1 IS CHECKED"
Else
MsgBox "Check1 IS NOT CHECKED"
End If
If Me.Check2 = True Then
MsgBox "Check2 IS CHECKED"
Else
MsgBox "Check2 IS NOT CHECKED"
End If
End Sub
Private Sub Form_Load()
' set first checkbox default checked
Me.Check1.Value = True
' set second checkbox default unchecked
Me.Check2.Value = False
End Sub
OriginalL'auteur waanders | 2010-09-28
Vous devez vous connecter pour publier un commentaire.
Les cases à cocher sont un type de contrôle conçu pour un seul but: assurer l'entrée en vigueur de valeurs Booléennes.
Dans Access, il existe deux types:
2-etat-peut être cochée ou décochée, mais pas Nulle. Les valeurs sont Vraies (case cochée) ou False (désactivé). Dans Access et le VBA, la valeur True est -1 et la valeur False est de 0. Pour la portabilité, avec des environnements qui utilisent 1 pour Vrai, vous pouvez toujours tester les Faux ou Pas Faux, puisque le Faux est la valeur 0 pour tous les environnements que je connais.
3-etat-comme le 2-état, mais peut être Null. En cliquant dessus, il parcourt Vrai/Faux/Null. C'est pour la liaison à un champ de type entier qui autorise les valeurs Null. Il n'est d'aucune utilité avec un champ Booléen, puisqu'elle ne peut jamais être Nulle.
Mineur chipoter avec les réponses:
Il n'y a presque jamais besoin d'utiliser l' .La valeur de la propriété d'un contrôle d'Accès, comme c'est la propriété par défaut. Ces deux sont équivalentes:
Le seul piège est ici qu'il est important de faire attention à ne pas créer des références implicites lors du test de la valeur d'une case à cocher. Au lieu de cela:
...écrire l'une de ces options:
De même, lors de l'écriture de sous-programmes ou fonctions get valeurs à partir d'une commande Booléenne, toujours déclarer vos paramètres Booléens comme ByVal sauf si vous voulez réellement pour manipuler le contrôle. Dans ce cas, le paramètre de type de données doit être un contrôle d'Accès et pas une valeur Booléenne. Autre chose, court le risque de références implicites.
Le dernier de tous, si vous définissez la valeur d'une case à cocher dans le code, vous pouvez le régler à n'importe quel nombre, pas seulement des 0 et -1, mais un nombre autre que 0 est considérée comme Vraie (parce que c'est Pas Faux). Alors que vous pourriez utiliser ce genre de chose dans un formulaire HTML, ce n'est pas la bonne conception de l'INTERFACE utilisateur pour une application d'Accès, comme il n'y a aucun moyen pour l'utilisateur d'être en mesure de voir ce que la valeur est en fait être stockées dans le contrôle, qui va à l'encontre de l'objectif de choix pour l'édition de vos données.
OriginalL'auteur David-W-Fenton
Vérifier sur
yourCheckBox.Value
?Aussi loin que je me rappelle,
.Value = True
si la case est CochéeOriginalL'auteur