Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Sécurité
Sécurité Le forum qui s'occupe de votre préoccupation de sécuriser l'accès à votre application Access, ainsi qu'à la sécurité des données.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2006, 08h20   #1
Membre habitué
 
Avatar de 1tsiMat
 
Étudiant
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 106
Points : 106
Par défaut Empécher une auto modification des données d'une liste modifiable

Bonjour, je sais que l'intitulé n'est pas très clair mais il est difficile d'expliquer mon problème en quelques mots Je vais essayer d'être clair, bref, et précis ...
Voilà j'ai deux formulaires, un formulaire index (qui permet de choisir un produit par liste modifiable) et un formulaire produit (qui correspond au produit que l'on a sélectionné).
Tout fonctionne bien, sauf (bah oui sinon je serai pas là ) que lorsque j'ai choisi un produit quelconque, que j'accède à ma fiche, puis que je ferme ma fiche (donc retour à l'index), la première valeur de ma liste modifiable se modifie automatiquement (?). En plus précis, pour le produit 1 qui se nomme Aaa, lorsque je sélectionne et regarde par exemple le produit 3 qui s'appelle Ccc et que je reviens à mon index, le produit 1 se nomme Ccc ...
Si vous pouviez m'éclairer sur une quelconque solution, cela m'aiderait beaucoup!!!
Merci

EDIT :

J'ai bien essayer
Code :
1
2
3
Private Sub MaListeModifiable_BeforeUpdate(Cancel As Integer)
    Cancel = True
End Sub
proposé dans la FAQ mais cela me "bloque" mes boutons (impossible de pouvoir cliquer dessus)
__________________
N'oubliez pas, si votre problème est résolu, mettez le tag
En informatique, il n'y a pas de problème, toujours des solutions (parfois pas évidentes à trouver )
1tsiMat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 17h18   #2
Membre habitué
 
Avatar de 1tsiMat
 
Étudiant
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 106
Points : 106
Je relance le post sans grande espérance ...
__________________
N'oubliez pas, si votre problème est résolu, mettez le tag
En informatique, il n'y a pas de problème, toujours des solutions (parfois pas évidentes à trouver )
1tsiMat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 17h37   #3
Membre régulier
 
Inscription : août 2005
Messages : 102
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 102
Points : 94
Points : 94
Il y a peut-être plus simple, mais en général ça marche :

Code :
1
2
3
4
5
6
7
8
9
(dans l'entête du module) Dim OldValue as Variant
 
Private Sub MaListeModifiable_GotFocus
    OldValue = MaListeModifiable
End Sub
 
Private Sub MaListeModifiable_AfterUpdate
    MaListeModifiable = OldValue
End Sub
Meduse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 17h55   #4
Membre habitué
 
Avatar de 1tsiMat
 
Étudiant
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 106
Points : 106
Merci de ton intérêt pour mon sujet.
J'ai essayé et cela ne marche pas, mais j'ai un petit soucis avec ton code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Option Compare Database
 
 
Dim OldValue As Variant
_____________________________________________________
Private Sub MaListeModifiable_GotFocus()
    OldValue = Modifiable12
End Sub
_____________________________________________________
Private Sub MaListeModifiable_AfterUpdate()
    Modifiable12 = OldValue
End Sub
Dim OldValue As Variant se met toujours au dessus et pas dans Private Sub MaListeModifiable_GotFocus()
OldValue = Modifiable12
End Sub
...

Si tu as une autre solution à me proposer je suis tout ouïe
__________________
N'oubliez pas, si votre problème est résolu, mettez le tag
En informatique, il n'y a pas de problème, toujours des solutions (parfois pas évidentes à trouver )
1tsiMat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 18h20   #5
Membre régulier
 
Inscription : août 2005
Messages : 102
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 102
Points : 94
Points : 94
Je suppose que le nom de ton contrôle est MaListeModifiable.
L'idée est d'enregistrer dans une variable la valeur de MaListeModifiable au moment où l'utilisateur arrive dessus (événement 'on got focus' – je ne connais pas la traduction française, peut-être 'à l'entrée'?), et de restaurer cette valeur si on essaie de modifier MaListeModifiable (événement 'after update' – 'après MAJ').

Il faut donc garder : OldValue = MaListeModifiable
ou mieux : OldValue = Me.MaListeModifiable
Si tu renommes en Modifiable12 c'est normal que ça ne marche plus...

D'autre part, je ne sais pas comment tu t'y es pris pour copier-coller mon code, mais la bonne méthode est celle-ci :
Ouvre les propriétés de MaListeModifiable. Sous l'onglet Evénements, en face de 'Après MAJ', clique sur les points de suspension, et choisis Code Builder. La fonction est créée, tu n'as plus qu'à coller son contenu. Idem pour l'autre procédure. Il faut qu'à la fin en face des deux événements il y ait écrit [Event Procedure], sinon ça veut dire qu'Access n'a pas remarqué que tu avais ajouté une nouvelle procédure.
Pour 'Dim OldValue As Variant' par contre il faut l'ajouter manuellement, comme tu as fait c'est bien.
Meduse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2006, 08h04   #6
Membre habitué
 
Avatar de 1tsiMat
 
Étudiant
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 106
Points : 106
J'ai trop fait le boulet hier a renommé que la moitié des choses ... désolé
Mais bon j'ai eu des précisions donc bon
Je teste ca tout de suite et je vous dis
__________________
N'oubliez pas, si votre problème est résolu, mettez le tag
En informatique, il n'y a pas de problème, toujours des solutions (parfois pas évidentes à trouver )
1tsiMat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2006, 08h11   #7
Membre habitué
 
Avatar de 1tsiMat
 
Étudiant
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 106
Points : 106
Bon alors bonne nouvelle ça fonctionne, désolé de ma bêtise d'hier ...
Mauvaise nouvelle impossible de pouvoir sélectionner un produit dans ma liste ... ma liste se déroule, mes options apparaissent mais impossible de pouvoir en sélectionner un
Je me penche mais je guette si vous avez une solution. Merci Meduse
__________________
N'oubliez pas, si votre problème est résolu, mettez le tag
En informatique, il n'y a pas de problème, toujours des solutions (parfois pas évidentes à trouver )
1tsiMat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2006, 11h28   #8
Membre régulier
 
Inscription : août 2005
Messages : 102
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 102
Points : 94
Points : 94
Je vois... Comment fais-tu pour ouvrir la fiche produit: est-ce un bouton à part ou est-ce qu'elle s'ouvre dès que tu sélectionnes un produit dans la liste ?
Meduse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2006, 11h35   #9
Membre habitué
 
Avatar de 1tsiMat
 
Étudiant
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 106
Points : 106
J'utilise un bouton à part
__________________
N'oubliez pas, si votre problème est résolu, mettez le tag
En informatique, il n'y a pas de problème, toujours des solutions (parfois pas évidentes à trouver )
1tsiMat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2006, 11h53   #10
Membre régulier
 
Inscription : août 2005
Messages : 102
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 102
Points : 94
Points : 94
En fait, je crois qu'on peut garder le principe de la variable OldValue, mais qu'il faut utiliser d'autres événements (ouverture et fermeture du formulaire produit par exemple).

J'aimerais comprendre comment fonctionne ton formulaire index :
Comment fais-tu pour sélectionner le produit que tu veux voir ? Peut-il être différent de celui sélectionné dans la liste déroulante ?

Envoie une copie d'écran si ça peut aider.
Meduse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2006, 12h03   #11
Membre habitué
 
Avatar de 1tsiMat
 
Étudiant
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 106
Points : 106
Je sélectionne mon produit dans ma liste modifiable "Produit à modifier", code_produit est invisible et ce champ s'appelle codage, et sur mon bouton "Accéder au produit" j'ai le code suivant :
Code :
1
2
3
Private Sub Acceder_Click()
    DoCmd.OpenForm "produit_form", , , "code_produit =" & Me.codage
End Sub
P.S. : Bon appétit (je reviens à 14h)


EDIT : j'ai oublié la pièce jointe
Images attachées
Type de fichier : jpg form_index.JPG (40,4 Ko, 3 affichages)
__________________
N'oubliez pas, si votre problème est résolu, mettez le tag
En informatique, il n'y a pas de problème, toujours des solutions (parfois pas évidentes à trouver )
1tsiMat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2006, 14h13   #12
Membre habitué
 
Avatar de 1tsiMat
 
Étudiant
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 106
Points : 106
Nouvel évènement, je peux sélectionner un produit mais en fait il est de suite remplacer par le premier

EDIT :

En fait, depuis ton code Meduse, c'est pas que je pouvais pas sélectionner mais ça se rafraichissait trop vite ...
__________________
N'oubliez pas, si votre problème est résolu, mettez le tag
En informatique, il n'y a pas de problème, toujours des solutions (parfois pas évidentes à trouver )
1tsiMat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2006, 16h13   #13
Membre habitué
 
Avatar de 1tsiMat
 
Étudiant
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 106
Points : 106
Problème réglé, j'ai enlevé le code d'after update et j'ai mis comme code sur mon bouton
Code :
1
2
3
4
Private Sub Acceder_Click()
    DoCmd.OpenForm "produit_form", , , "code_produit =" & Me.codage
    Modifiable12 = OldValue
End Sub
Merci Meduse, sans toi je n'aurais pu y arriver!!!!!!! Tu as ma reconnaissance éternelle!!!!
__________________
N'oubliez pas, si votre problème est résolu, mettez le tag
En informatique, il n'y a pas de problème, toujours des solutions (parfois pas évidentes à trouver )
1tsiMat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h53.


 
 
 
 
Partenaires

Hébergement Web