Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
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 12/08/2011, 15h48   #1
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Par défaut ma Requête SQL avec WHERE me demande un parametre

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 :
 KleSupprimee = Me.K_DevisLig
Sinon elle marche bien

Code :
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
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h24   #2
Membre du Club
 
Homme
Étudiant
Inscription : juillet 2011
Messages : 47
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : juillet 2011
Messages : 47
Points : 46
Points : 46
Code :
Debug.Print "FROM [T_DevisLig] WHERE K_DevisLig = KleSupprimee;"
Et je pense que tu trouveras la réponse ;-)
Nitsuja est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 17h15   #3
Membre éclairé
 
Homme Michel
Développeur informatique
Inscription : février 2008
Messages : 262
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : février 2008
Messages : 262
Points : 308
Points : 308
Par défaut j'écrirais :

Code :
"FROM [T_DevisLig] WHERE K_DevisLig = ' " & KleSupprimee & " ' "
Michel
Orion34080 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/08/2011, 10h53   #4
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Par défaut Enfin la bonne syntaxe

Bonjour

Merci à vous Nitsuja et Orion34080

à force d'essais j'ai fini par tomber sur une syntaxe qui marche


Code :
 "FROM [T_DevisLig] WHERE K_DevisLig = " & Me.K_DevisLig & ";"
Bonne journée à tous
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web