Bonjour
Je souhaite exécuter une requête suppression suite à un test en Msgbox.
Ce test est conditionné par la présence d’une ligne dans cette requête. En mode requête sélection, cela fonctionne, mais dès que je la transforme en requête suppression j’ai le message « Une requête action ne peut pas être utilisé comme source ».
Existe-t-il un moyen de modifier la requête sélection en requête suppression après le test ?
Ou bien avez-vous une autre idée.
La seule qui me vient à l’esprit serait de créer une autre requête (l’une teste, l’autre supprime), mais bof.
Sous Access 2000 !
Voici le code
La requête :
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 Private Sub Supprimer_fiche_Click() ' Teste la présence de facture liée au client If DCount("*", "Suppression Client") = 0 Then MsgBox "Le client que vous souhaitez supprimer apparait dans des factures. " & Chr(13) & " Vous ne pouvez donc pas le supprimer", vbExclamation, "" Else If MsgBox("ATTENTION !" & Chr(13) & Chr(13) & "Cette suppression est possible car il n'existe pas de facture au nom de ce client. " & Chr(13) & " Voulez vous définitivement supprimer ce client de votre liste ?", vbYesNoCancel + vbQuestion + vbDefaultButton2, "Confirmez svp !") = vbYes Then ' Supprime le client DoCmd.OpenQuery "Suppression Client" Else End If End If Exit Sub End Sub
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DELETE Clientèle.*, Clientèle.RéfClient, Facture.[Réf Facture] FROM Clientèle LEFT JOIN Facture ON Clientèle.RéfClient = Facture.[Réf Client] WHERE (((Clientèle.RéfClient)=[Formulaires]![Modification fiches clients]![RéfClient]) AND ((Facture.[Réf Facture]) Is Null));
Franck
Partager