Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment empecher de saisir des donnèes dans une table

8 réponses
Avatar
heartbreaker
Comment empecher de saisir des donnees dans une table par exemple :
j'ai les champs depot direct et demande de retrait.
Si je rentre oui dans depot direct j'aimerais ne pas pouvoir remplir ma
demande de retrait.
Apres chaque champs j'ai des donnèes que j'aimerais aussi ne pas pouvoir
remplir.

Comment faire?
Merci d'avance

8 réponses

Avatar
Tisane
Bonjour heartbreaker,

Comment empecher de saisir des donnees dans une table par exemple :
j'ai les champs depot direct et demande de retrait.
Si je rentre oui dans depot direct j'aimerais ne pas pouvoir remplir
ma demande de retrait.
Apres chaque champs j'ai des donnèes que j'aimerais aussi ne pas
pouvoir remplir.


La saisie doit passer par un formulaire. Elle ne devrait jamais être faite
directement dans une table.
Donc, dans le formulaire :
- double-clique dans la propriété "Après mise à jour" (Après MAJ) du champ
[Depot direct]
- clic sur les [...] à droite de "Procédure événementielle"
- utilise le bout de code suivant (à adapter en fonction du nom de tes
champs) :

Private Sub Depot_direct_AfterUpdate()
If Me![Depot direct] = True Then
Me![demande de retrait].Locked = True
Else
Me![demande de retrait].Locked = False
End If
End Sub

Si tu veux le rendre carrément invisible, remplace Locked par Visible.

--
Tisane

Avatar
heartbreaker
Merci et bonne fete !!!


Bonjour heartbreaker,

Comment empecher de saisir des donnees dans une table par exemple :
j'ai les champs depot direct et demande de retrait.
Si je rentre oui dans depot direct j'aimerais ne pas pouvoir remplir
ma demande de retrait.
Apres chaque champs j'ai des donnèes que j'aimerais aussi ne pas
pouvoir remplir.


La saisie doit passer par un formulaire. Elle ne devrait jamais être faite
directement dans une table.
Donc, dans le formulaire :
- double-clique dans la propriété "Après mise à jour" (Après MAJ) du champ
[Depot direct]
- clic sur les [...] à droite de "Procédure événementielle"
- utilise le bout de code suivant (à adapter en fonction du nom de tes
champs) :

Private Sub Depot_direct_AfterUpdate()
If Me![Depot direct] = True Then
Me![demande de retrait].Locked = True
Else
Me![demande de retrait].Locked = False
End If
End Sub

Si tu veux le rendre carrément invisible, remplace Locked par Visible.

--
Tisane





Avatar
heartbreaker
J'ai rentrè ce code dans ma commande mais j'ai toujours un leger probleme, la
case [Demande de retrait] n'est pas bloquèe et je peux toujours ecrire
dedans...
Faut il que je rentre un code dans la case [Demande de retrait] aussi?

Private Sub Dépôt_Direct_AfterUpdate()
If Me![Dépôt Direct] = True Then
Me![Demande de retrait].Locked = True
Else
Me![Demande de retrait].Locked = False
End If
End Sub



Bonjour heartbreaker,

Comment empecher de saisir des donnees dans une table par exemple :
j'ai les champs depot direct et demande de retrait.
Si je rentre oui dans depot direct j'aimerais ne pas pouvoir remplir
ma demande de retrait.
Apres chaque champs j'ai des donnèes que j'aimerais aussi ne pas
pouvoir remplir.


La saisie doit passer par un formulaire. Elle ne devrait jamais être faite
directement dans une table.
Donc, dans le formulaire :
- double-clique dans la propriété "Après mise à jour" (Après MAJ) du champ
[Depot direct]
- clic sur les [...] à droite de "Procédure événementielle"
- utilise le bout de code suivant (à adapter en fonction du nom de tes
champs) :

Private Sub Depot_direct_AfterUpdate()
If Me![Depot direct] = True Then
Me![demande de retrait].Locked = True
Else
Me![demande de retrait].Locked = False
End If
End Sub

Si tu veux le rendre carrément invisible, remplace Locked par Visible.

--
Tisane





Avatar
Willi2004
Salut Heartbreaker!
En modifiant légèrement le code propesé par Tisane (que je salue
respectueusement au passage), je crois que ça marche.
Voici ce qu'on obtient:

Private Sub Dépot_direct_AfterUpdate()
If Not (IsNull(Me![Dépot direct])) Then
Me![Demande de retrait].Locked = True
Else
Me![Demande de retrait].Locked = False
End If
End Sub

Please, don't break my heart (c'est pour plaisanter!)
Avatar
Tisane
Bonjour Willi2004 et Heartbreaker !

En modifiant légèrement le code propesé par Tisane (que je salue
respectueusement au passage), je crois que ça marche.
Voici ce qu'on obtient:
Private Sub Dépot_direct_AfterUpdate()
If Not (IsNull(Me![Dépot direct])) Then
Me![Demande de retrait].Locked = True
Else
Me![Demande de retrait].Locked = False
End If
End Sub


Pas beaucoup de temps ce soir, mais Dépôt Direct n'est pas une case à cocher
?
Heartbreaker, tu tapes "oui" dans un champ de type Texte ?
Je suis sûre du code si c'est une case à cocher (type de données Oui/Non).
J'en profite pour rappeler qu'il vaudrait mieux éviter les espaces et les
accents dans les noms des champs et des objets (tables, requêtes, etc.)
Indépendamment du fait que cela oblige à l'utilisation des [ ], un jour, tu
seras obligé de tout renommer notamment si tu veux rendre les données
accessibles depuis un intra/extra/internet.

Bonnes fêtes de fin d'année à tout les deux.

--
Tisane

Avatar
Willi2004
Bonnes fêtes Tisane!

En effet ton code ne comporte pas d'erreur et doit marcher s'il s'agit d'une
case à cocher et personnellement c'est une case à cocher que j'aurais utilisé.
Mais comme Heartbreaker dit qu'il ne marche pas, je me suis dit que son
champ est simplement un champ texte.
Avatar
Pierre CFI [mvp]
.../...
par précaution
(IsNull(Me![Dépot direct]) or Me![Dépot direct] = "")

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"Willi2004" a écrit dans le message de news:

Bonnes fêtes Tisane!

En effet ton code ne comporte pas d'erreur et doit marcher s'il s'agit d'une
case à cocher et personnellement c'est une case à cocher que j'aurais utilisé.
Mais comme Heartbreaker dit qu'il ne marche pas, je me suis dit que son
champ est simplement un champ texte.


Avatar
Willi2004
Bonjour Pierre et bonnes fêtes.
Merci pour ton apport, je prends bonne note.