Bonjour

Mon context:je veux supprimer un Enregistrement dans un Formulaire CONTINU
Je ne trouve pas pourquoi ma requête lève une InputBox demandant le paramètre KleSupprimee
Je croyais que mon code la renseignait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 KleSupprimee = Me.K_DevisLig
Sinon elle marche bien

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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Private Sub B_SupprEnregistrement_DblClick(Cancel As Integer)
'Supprime l'Enregistrement courant
MsgBox Me.K_DevisLig 'pour vérifier la bonne ligne
 
'DoCmd.RunCommand acCmdDeleteCurrentRecord Marche pas dans ce cas
'Me.Recordset.Delete 'PAS BON car Supprime l'Enregistrement Précedant et permet multi-Sélection _
  avec Sélecteur d'Enregistrement Donc supression Selecteur et je créé un Bouton
'Reste SQL statement
 
'Test si la ligne à supprimer est Facturée
    Dim Reponse As Byte
    Dim Test As Long
    Dim KleSupp As Long
    KleSupprimee = Me.K_DevisLig
    MsgBox KleSupprimee
 
    Test = (Nz(Me.K_Facture, "") = "")
 
    If Test = Faux Then 'Condition
          MsgBox "Suppression Impossible" & (Chr(13) & Chr(10) & Chr(13)) & _
                    "cet Enregistrement figure sur une Facture ! ", vbCritical, "Attention"
     Else
          Reponse = MsgBox("supprimer cette ligne ?", vbOKCancel + vbCritical, "Suppression de l'Enregistrement")
            Select Case Reponse
                Case Is = 1 'Ok
                   'Me.Recordset.Delete 'PAS BON car Supprime l'Enregistrement Précedant et permet multi-Sélection _
                    avec Sélecteur d'Enregistrement Donc supression Selecteur et je créé un Bouton
 
                   DoCmd.SetWarnings False
                   DoCmd.RunSQL "DELETE K_DevisLig,K_NumDevis,K_DevisSection,K_Facture,Description,Qté,Unité,Pu,OrdreTriLignes,Flag " & _
                    "FROM [T_DevisLig] WHERE K_DevisLig = KleSupprimee;" 'ici j'ai une InputBox pas souhaitée
                   DoCmd.SetWarnings True
                Case Is = 2 'Cancel
                    Exit Sub
            End Select
      End If
End Sub
Cordialement