Bonjour,

J'ai une base de données avec des tables liées mysql. J'applique l'intégrité référentielle sur mes tables et logiquement en cas de non respect de cette intégrité un message d'erreur apparait.

Sur mon formulaire, j'essaye d'attraper l'erreur pour la gérer moi-même comme un grand mais je n'y arrive pas:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 Private sub Form_Delete(Cancel as integer)
  On Error Resume next
  Msgbox "Erreur: " & Err.Number
  Err.Clear
 Exit Sub
End sub
le "On Error" attrape bien l'erreur mais affiche quand même le message "par défaut" incompréhensible pour un utilisateur.
Err.Number est à 0
Err.Clear n'a aucun effet.

Dans le cas présent, il s'agit de l'erreur MYSQL 1451 (SQLSTATE 23000) sur la suppression d'un élément utilisé dans une autre table.

ODBC- échec de suppression sur une table "motscles" attachée.
[Mysql][ODBC3.51.Driver][mysqld-5.0.27-community-nt-log] Cannot delete or update a parent row: a foreign key constraint fails...(#1451)

Donc attraper l'erreur pour afficher un message d'erreur personnalisé, j'y arrive mais ne plus afficher le message par défaut, je bloque.

Merci d'avance
Lionel