[Access] Attribution automatique d'une fiche

Fermé
ETSSieb Messages postés 24 Date d'inscription mercredi 28 avril 2010 Statut Membre Dernière intervention 16 juillet 2010 - 7 mai 2010 à 14:24
ETSSieb Messages postés 24 Date d'inscription mercredi 28 avril 2010 Statut Membre Dernière intervention 16 juillet 2010 - 10 mai 2010 à 11:02
Bonjour,

J'aimerais utiliser la fonction Environ("Username") pour attribuer automatiquement les fiches d'un formulaire aux utilisateurs du fichier.
A l'heure actuelle, j'ai mis le code "sur chargement" du formulaire mais un problème de taille a été décelé :
Lorsque plusieurs personnes sont sur ce formulaire, elles voient la même fiche donc sont touts susceptibles de la traiter. Si un premier enregistrement a déjà eu lieu, il est même possible pour l'autre personne de l'écraser.
Ma question est la suivante : est-il possible d'attribuer automatiquement des fiches à chaque utilisateur sans que les autres utilisateurs y aient accès.
Je ne sais pas si tout est clair...
Si vous avez des suggestions, merci de votre aide.
A voir également:

2 réponses

Utilisateur anonyme
7 mai 2010 à 15:22
Bonjour,
Dans la table qui stocke les données de ta fiche, tu ajoute un champs User_Open.
Dès qu'un utilisateur accède à une fiche, donc sur l'évènement Activation de ton formulaire, tu donnes à ce champs l'identification de ton User.
Sur le formulaire, tu filtres si ce champ est null, ou égal au User actuel.
Dès que ton utilisateur quitte une fiche, tu effaces l'indication de son nom.

Donc, sur form_current :

Docmd.RunSQL "UPDATE MaTabl SET USER_Open = Null WHERE User_Open = " & Environ("Username") & ";"
me!User_Open = Environ("Username")

ça devrait marcher.

Manu
0
ETSSieb Messages postés 24 Date d'inscription mercredi 28 avril 2010 Statut Membre Dernière intervention 16 juillet 2010
10 mai 2010 à 11:02
Bonjour,

Je viens d'essayer votre proposition.
Malheureusement, ca ne fonctionne pas, j'ai du faire une erreur dans le code ou oublier quelque chose puisque lorsque je lance mon formulaire, j'ai directement une inputbox avec le nom du PC. Lorsque je clique sur OK, j'ai une boite de dialogue d'erreur me proposant le débogage et faisant apparaitre cette ligne :

DoCmd.RunSQL "UPDATE SEREC Set User_Open = Null WHERE User_Open = " & Environ("Username") & ";"

Je ne m'y connais pas du tout en SQL. Est-il possible d'avoir le même résultat en VBA?

Merci d'avance.
0