OVH Cloud OVH Cloud

Blocage données

3 réponses
Avatar
Michel
Bonjour,
Une question qui me ferait gagner un temps fou.
Est il possible de verrouiller un ou plusieurs enregistrements
d'une table par le biais d'un formulaire qui entre les données dans
cette table. Soit par un case soit par autre chose, le problème étant que
tous
les utilisateurs de la BDD ont accès à ces données, et ce que je voudrais
éviter c'est qu'un utilisateur qui n'a pas saisi un enregistrement dans
la table ne puisse pas le changer, le fait qu'ils aient tous accès à tous
me met la table dans un état!! et ce n'est jamais personne.
Si qq à une idée je suis preneur.
Merci


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.698 / Virus Database: 455 - Release Date: 02/06/2004

3 réponses

Avatar
Raymond [mvp]
Bonjour.

ça necessite d'abord que les enregistrements de la table comportent un champ
"utilisateur" et que lorsque tu saisis un enregistrement, de placer le nom
de l'utilisateur windows dans l'enregistrement ( voir page :
http://access.seneque.free.fr/nom_utilisateur.htm ou
http://access.seneque.free.fr/environnement.htm )
ensuite sur l'événement Form_Current, tester la correspondance du username
actuel avec celui qui saisi la donnée et bloquer ou non l'enregistrement.
Private Sub Form_Current()
If Me.utilisateur = Environ("username") Then
Me.AllowEdits = True
Else
Me.AllowEdits = False
End If
End Sub

ou tout simplement:
Private Sub Form_Current()
Me.AllowEdits = (Me.utilisateur = Environ("username"))
End Sub

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Michel" a écrit dans le message de
news:40c041a3$0$28054$
Bonjour,
Une question qui me ferait gagner un temps fou.
Est il possible de verrouiller un ou plusieurs enregistrements
d'une table par le biais d'un formulaire qui entre les données dans
cette table. Soit par un case soit par autre chose, le problème étant que
tous
les utilisateurs de la BDD ont accès à ces données, et ce que je voudrais
éviter c'est qu'un utilisateur qui n'a pas saisi un enregistrement dans
la table ne puisse pas le changer, le fait qu'ils aient tous accès à tous
me met la table dans un état!! et ce n'est jamais personne.
Si qq à une idée je suis preneur.
Merci


Avatar
Michel
Bonjour,

C'est super ça fonctionne mais j'ai encore un petit pb.
J'arrive à récuperer le nom de l'utilisateur courant, et
quand je le compare à la valeur de ma listebox ça
coince parce que mon listebox donne un numéro et
non un nom parce que la table utilisateurs a un champs
numauto donc pour Duchnock il renvoit 1 pourtant
à l'affichage du listebox j'ai bien Duchnock qui apparait.
J'ai essayé pas mal de trucs mais sans succès.
Merci pour vos suggestions



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.698 / Virus Database: 455 - Release Date: 02/06/2004
Avatar
Raymond [mvp]
parce que tu as mis une clé autonum dans les utilisateurs, donc le nom est
est 2e position colonne 1.
si tu as l'utilisateur dans une listbox tu n'as pas besoin d'aller le
chercher dans windows.
travaille sur l'utilisateur qui est dans la liste. tu n'as pas besoin de ce
que je t'ai indiqué.
à chaque création, tu places ton utilisateur dans l'enregistrement et à
chaque formcurrent tu compare les deux valeurs.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Michel" a écrit dans le message de
news:40c15a33$0$9763$
Bonjour,

C'est super ça fonctionne mais j'ai encore un petit pb.
J'arrive à récuperer le nom de l'utilisateur courant, et
quand je le compare à la valeur de ma listebox ça
coince parce que mon listebox donne un numéro et
non un nom parce que la table utilisateurs a un champs
numauto donc pour Duchnock il renvoit 1 pourtant
à l'affichage du listebox j'ai bien Duchnock qui apparait.
J'ai essayé pas mal de trucs mais sans succès.
Merci pour vos suggestions