Protection des données saisies

Le
Le xou
Bonjour,

J'utilise Access 2007 pour gérer les mouvements de stock (entrée, sortie).

J'aimerais savoir s'il est possible de protéger les saisies d'un formulaire
une fois celles-ci enregistrées par l'utilisateur.

Merci de votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #6346491
Salut,

"Le xou"
| J'utilise Access 2007 pour gérer les mouvements de stock (entrée, sortie).
|
| J'aimerais savoir s'il est possible de protéger les saisies d'un formulaire
| une fois celles-ci enregistrées par l'utilisateur.

Très vague comme question...

"protéger les saisies d'un formulaire..."

- pour que l'on ne puisse plus les modifier ?
- autre chose ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Le xou
Le #6346421
Salut,

En effet ma question était un peu vague :
je souhaite que l'on ne puisse pas modifier les données (après
enregistrement) sur le formulaire, afin d'éviter des modifications par erreur
(saisie par dessus un ancien enregistrement).

Merci de ton aide.


Salut,

"Le xou"
| J'utilise Access 2007 pour gérer les mouvements de stock (entrée, sortie).
|
| J'aimerais savoir s'il est possible de protéger les saisies d'un formulaire
| une fois celles-ci enregistrées par l'utilisateur.

Très vague comme question...

"protéger les saisies d'un formulaire..."

- pour que l'on ne puisse plus les modifier ?
- autre chose ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)





3stone
Le #6346201
Salut,

"Le xou"
| En effet ma question était un peu vague :
| je souhaite que l'on ne puisse pas modifier les données (après
| enregistrement) sur le formulaire, afin d'éviter des modifications par erreur
| (saisie par dessus un ancien enregistrement).


Souvent, les modifications "par erreur" proviennent du fait que la
propriété de sélection pour les zones de texte est sur la position
par défaut - ce qui est vraiment inapproprié !

Regarde dans Outils, Options, onglet Clavier
- Comportement du champ en entrée

Le choix par défaut est "Champ entier", ce qui n'est jamais souhaitable
- cocher plutôt : "Fin du champ"

Rien qu'avec cela, les modifications intempestives n'ont plus lieu.

Si tu souhaites réellement un contrôle plus strict, tu peux mettre
un peu de code dans l'événement "Avant mise à jour" du formulaire.


if Msgbox("Voulez-vous enregistrer les modifications ?", _
vbYesNo, "Enregistrement") = vbNo Then
Cancel = True
Me.Undo
end if


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
William Kameron
Le #6360331
Une autre solution empêche même la modification des valeurs que l'on
souhaite protéger.

Tu peux créer un nouveau champ "Validé" dans les tables à protéger.
N'oublies pas : Valeur par défaut = False

Il suffit d'écrire dans l'évenement Form_Current

Me.chp_1.Locked = Me.Validé
Me.chp_2.Locked = Me.Validé
Me.chp_3.Locked = Me.Validé
...
Me.chp_n.Locked = Me.Validé

puis dans Form_BeforeUpdate ou lors de l'enregistrement ou même après
confirmation d'enrigistrement

Me.Validé = True

La méthode bloque toute modification dans un champ protégé d'un
enregistrement validé.

Bien à toi.

"3stone" %23Jm$uB%
Salut,

"Le xou"
| En effet ma question était un peu vague :
| je souhaite que l'on ne puisse pas modifier les données (après
| enregistrement) sur le formulaire, afin d'éviter des modifications par
erreur
| (saisie par dessus un ancien enregistrement).


Souvent, les modifications "par erreur" proviennent du fait que la
propriété de sélection pour les zones de texte est sur la position
par défaut - ce qui est vraiment inapproprié !

Regarde dans Outils, Options, onglet Clavier
- Comportement du champ en entrée

Le choix par défaut est "Champ entier", ce qui n'est jamais souhaitable
- cocher plutôt : "Fin du champ"

Rien qu'avec cela, les modifications intempestives n'ont plus lieu.

Si tu souhaites réellement un contrôle plus strict, tu peux mettre
un peu de code dans l'événement "Avant mise à jour" du formulaire.


if Msgbox("Voulez-vous enregistrer les modifications ?", _
vbYesNo, "Enregistrement") = vbNo Then
Cancel = True
Me.Undo
end if


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Le xou
Le #6360211
Merci pour ton aide ...


Salut,

"Le xou"
| En effet ma question était un peu vague :
| je souhaite que l'on ne puisse pas modifier les données (après
| enregistrement) sur le formulaire, afin d'éviter des modifications par erreur
| (saisie par dessus un ancien enregistrement).


Souvent, les modifications "par erreur" proviennent du fait que la
propriété de sélection pour les zones de texte est sur la position
par défaut - ce qui est vraiment inapproprié !

Regarde dans Outils, Options, onglet Clavier
- Comportement du champ en entrée

Le choix par défaut est "Champ entier", ce qui n'est jamais souhaitable
- cocher plutôt : "Fin du champ"

Rien qu'avec cela, les modifications intempestives n'ont plus lieu.

Si tu souhaites réellement un contrôle plus strict, tu peux mettre
un peu de code dans l'événement "Avant mise à jour" du formulaire.


if Msgbox("Voulez-vous enregistrer les modifications ?", _
vbYesNo, "Enregistrement") = vbNo Then
Cancel = True
Me.Undo
end if


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Publicité
Poster une réponse
Anonyme