Bonjour,

A partir d'un formulaire sous Access 2002 j'exécute une requête.
Je voudrais afficher un message de type "Etes-vous sûr de vouloir supprimer 10 enregistrements ?".
Pour cela j'ai besoin de connaître le nombre d'enregistrement(s) concerné(s) afin d'afficher le message.
J'ai à mon avis deux solutions :

La première (trouvée sur le forum) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Const REQUETE As String = "DELETE inventaire.* FROM inventaire WHERE (((inventaire.num_inv)=Formulaires!Inventaire!suppr_materiel_liste));"
Dim q As DAO.QueryDef
 
Dim n As Long
DBEngine.BeginTrans
Set q = CurrentDb.QueryDefs(REQUETE)
q.Execute
If MsgBox("Vous allez insérer " & q.RecordsAffected & _
" nouveaux enregistrements." & vbCrLf & _
"Etes vous sûr de vouloir continuer ?", vbYesNo + vbQuestion, "Insertion") = vbYes Then
 
DBEngine.CommitTrans
Else
DBEngine.Rollback
End If
J'ai par ailleurs dû supprimer les "&" pour que ça fonctionne (je ne sais d'ailleurs pas à quoi ça sert).

Cela me donne ensuite l'erreur suivante sur la ligne "Set q = CurrentDb.QueryDefs(REQUETE)" :
Erreur d'exécution '3265': Elément non trouvé dans cette collection;

Après avoir rajouter 2 références (Microsoft ActiveX Data Objects 1.0 Library et Microsoft DAO 3.6 Object Library je crois) j'ai toujours cette erreur.

La seconde solution serait d'utiliser une requête de type
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT count(inventaire.num_inv) AS Expr1 FROM inventaire WHERE (((inventaire.num_inv)=Formulaires!Inventaire!suppr_materiel_liste));
Cette requête fonctionne mais je n'arrive pas à utiliser son résultat pour ensuite l'insérer dans une MsgBox.

Merci par avance de votre aide.
Je reste à votre disposition si vous souhaitez plus d’infos.

Julien