Bonjour,

J'ai un formulaire avec un bouton Annuler dont voici le code:

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
17
18
19
20
21
22
Private Sub Annuler_Click()

Dim db As DAO.Database
Dim strSQL As String

Set db = CurrentDb
strSQL = ""
   
If MsgBox("Vous êtes sur le point de supprimer l'enregistrement. Cliquez sur yes pour confirmer.", vbQuestion + vbYesNo, "INFORMATION") = vbYes Then
        Me.AllowDeletions = True
        DoCmd.SetWarnings False
        RunCommand acCmdSelectRecord
        RunCommand acCmdDeleteRecord // problème
        DoCmd.SetWarnings True
        Me.AllowDeletions = False
        MsgBox "Enregistrement supprimé"
    End If
    
DoCmd.Close
     
End Sub
Dans ce formulaire, j'ai un champ date qui se remplit automatiquement à CurrentDate et j'ai un menu déroulant.

Tant que je ne remplis pas le menu déroulant, l'identifiant de l'enregistrement reste à AutoNumber.
Dès que je remplis le menu déroulant, l'identifiant de l'enregistrement s'incrémente.

Si je ne remplis pas le menu déroulant et que je clique sur le bouton Annuler, alors j'ai un message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Run Time error 2046
The command or action 'DeleteRecord' is not available now.
Si je remplis le menu déroulant et que je clique sur le bouton Annuler, ça marche.

J'ai vu dans un post que c'est car une action BeforeUpdate est en cours mais ce n'est pas le cas.


Merci de votre aide.