Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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/12/2010, 16h36   #1
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Par défaut supression, message d'avertissement

Bonjour,

Quand je lance la suppression d'un enegistrement par le biais d'un formulaire lié, je n'arrive pas à désactiver le message d'avertissement "Vous allez supprimer 1 enregistrement" en utilisant une macro contenanat l'action "avertissements actifs : non".
Ca marche en revanche, quand je passe par vba :

Code :
 DoCmd.SetWarnings False
Quelqu'un a t'il une solution à ce probleme ?
reedy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 22h52   #2
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 255
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 255
Points : 1 870
Points : 1 870
Bonsoir,

Utilise plutot une gestion d'erreur :
Code :
1
2
3
4
5
6
7
8
9
 
sub xxx
if not mode_dev then on error goto err:
... 
120 CurrentDb.Execute "DELETE...;", dbFailOnError
...
exit sub
err: msgbox "erreur " & err.Number & " dans xxx ligne " & erl & " : " & err.DESCRIPTION
end sub
Seul inconvénient : il faut numéroter le code pour connaitre l'origine de l'erreur (sauf en mode développeur où on garde la fonction debug...)
Encore mieux : écriture dans un journal d'erreur
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 00h30   #3
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Je crois que je me suis fait mal comprendre.
Le message en question n'est pas 1 message d'erreur mais 1 msg d'avertissement qui demande de confirmer l'action de suppression initiée.
Ce message apparait que je soit en mode développement ou non
reedy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 08h33   #4
Membre du Club
 
Inscription : juillet 2010
Messages : 56
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 56
Points : 52
Points : 52
Il me semble que c'est un truc du genre
Par contre, n'oublie pas de le réactiver en remplacant le 0 par le 1.

A utiliser avec précaution ......
jcdenton057 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 08h46   #5
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 080
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 080
Points : 11 615
Points : 11 615
Bonjour,

@Jcdenton057 : Ce que tu postes est strictement identique à la commande que Reddafry à poster.

False et True à une valeur numérique respectivement 0 et -1.

@Reddafry : Dans les options d'access (bouton office, la pizza en haut à gauche) Options Access/Avancé/Confirmer/Modification des enregistrements et Requetes Actions à décocher.

Attention pas Suppression de documents !

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 09h39   #6
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 255
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 255
Points : 1 870
Points : 1 870
Il semble que j'ai été trop complet et pas assez détaillé...

En VBA la syntaxe
Code :
DoCmd.RunSQL "DELETE..."
exige d'utiliser "setwarnings" pour avoir ou non les messages d'alerte, et ne remonte pas d'erreur si l'exécution pose problème.

Au contraire, la syntaxe que je propose ne génère pas de warnings et remonte une erreur détaillée.

Il est vrai que je ne réponds pas à la question
Mais je pense qu'il est préférable de toujours passer par VBA pour supprimer des enregistrements, justement pour pouvoir disposer d'une bonne gestion d'erreur. Alors que le warning ne sert à rien sinon à déstabiliser l'utilisateur du logiciel.
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 19h14   #7
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Loufab, ta solution fonctionne bien mais présente l'inconvénient qu'il faut régler ce paramètre dans chaque poste utilisateur.

Je crois que je vais me contenter de la solution que j'ai évoqué au départ càd coder la désactivation en VBA et garder le reste du code en macro

Concrètement voilà ce que j'ai fait:

Événement sur suppression:

Code :
1
2
3
4
 
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
DoCmd.SetWarnings False
End Sub
Événement avant suppression: le reste de la macro (une macro d'historisation) après avoir enlevé l'action "avertissement actifs:non" qui ne sert plus à rien
reedy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 08h40   #8
Membre du Club
 
Inscription : juillet 2010
Messages : 56
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 56
Points : 52
Points : 52
Oop. Désolé j'avais pas mis le bon code :

Tu peux modifier les options d'access aussi par le code :
Par exemple, pour la confirmation des requete d'action, j'ai utilisé ca
Code :
Application.SetOption "Confirm action queries", False
Cela pourrait t'aider
jcdenton057 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h34.


 
 
 
 
Partenaires

Hébergement Web