Mais jusq ou s arretera t il ???

fredieuric Messages postés 24 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 2 octobre 2008 - 23 juil. 2002 à 09:34
skrol29 Messages postés 114 Date d'inscription vendredi 3 mai 2002 Statut Membre Dernière intervention 17 novembre 2014 - 23 juil. 2002 à 10:54
Salut la compagnie,

encore 2 questions a la con pour ce matin!

hier, en reponse a ma question sur la suppression de l enregistrement courrant, qq1 m a gracieusement fourni les deux lignes de code suivantes:

DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord

J ai teste ca dans un de mes formulaires, OK ca marche, mais access m envoie toujours des messages de mise en garde (Attention, vous ne pourrez plus revenir en arriere...). Je voudrais mettre mes propres messages, est-il possible de "deconnecter" les mises en garde d´access?
:question)

Deuxiemement:
j ai un petit bout de code qui protege les valeurs de mes champs dans mes formulaires (qd je rentre dans le champ, j enregistre sa valeur dans un variable, et en sortant, si je ne veux pas enregistrer les modifications, je peux remettre la valeur initiale).
Pb: quand je veux supprimer un enregistrement grace aux deux lignes precedemment citees, access croit que j ai fait une modification et me demande si je veux l enregistrer (ca correspond a mon petit bout de code!), et je recois alors un joli message d erreur qui me dit que j ai arrete l action DoCmd.RunCommand.

Comment je dois faire quoi????

Fred :approve)

1 réponse

skrol29 Messages postés 114 Date d'inscription vendredi 3 mai 2002 Statut Membre Dernière intervention 17 novembre 2014
23 juil. 2002 à 10:54
1/ Pour supprimer le message de mise en guarde lors de la suppression d'enreg dans Access.

Il y a la commande
DoCmd.SetWarnings False
et
DoCmd.SetWarnings True

Mais je DECONSEILLE fortement de l'utiliser parceque ce paramétrage est modifié pour toutes les applications Access. En plus si ton code plante, les messages futurs ne seront jamais affichés ce qui est très dangeureux.

A la place, tu peux faure une suppression avec l'instruction
CurrentDB.Execute "DELETE * FROM...."

Qui lance un instruction SQL sans passer par l'interface d'Access. Donc sans message d'alerte.
C'est + propre.

2/ Pour empécher la modif de donnée.
Le message que tu optiens est normal car les données sont réelement modifiée par l'utilisateur, puis une deuxième fois par ton prog pour le remettre à l'ancienne valeur.
C'est top propre comme méthode.

Tu peux, si ça convient, protéger tes contrôles contre la modif en mettant la propriété Vérouillé à Oui.

Tu peux aussi vérifier la modif d'enreg avant suppression comme ceci :
If Me.Dirty Then
Me.Undo
End If

Ou encore, si tu passes par le code de suppression cité + haut, ben t'as plus de problème.

Enjoy,
--------------------
Skrol 29
www.skrol29.com
--------------------
0
Rejoignez-nous