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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| DoCmd.RunCommand acCmdSaveRecord
Dim Txt_mem_indice As Variant
Txt_mem_indice = Forms![F_Articles_Fiche]![F_Articles_Fiche_Indices].Form.[N°_auto_Article_indice]
Dim varcount As Integer
varcount = DCount("N°_auto_Article_ss_ensemble", "Tbl_Articles_SS_ensemble", "[Coche_selection_article_ss_ensemble]=-1")
If varcount = 0 Then
MsgBox ("Veuillez sélectionner au moins 1 élément")
Else
Dim strMsg As String
strMsg = "Voulez vous supprimer cet (ces) enregistrement(s) ?" 'On met le message "Voulez-vous.. " dans une variable appelée strMsg
If MsgBox(strMsg, vbQuestion + vbYesNo, "Confirmation:") = vbYes Then 'On crée une fenêtre qui demande oui ou non à la question posée. Si la réponse au message strMsg est oui alors
DoCmd.SetWarnings False
Dim var_indice As Variant
Dim var_article As Variant
Dim fso As FileSystemObject
Set fso = New FileSystemObject
Dim Rst As DAO.Recordset
Set Rst = CurrentDb.OpenRecordset("R_Articles_Fiche_SS_ensemble_Selection_suppression")
Do While Not Rst.EOF
VarCodearticle = Rst![N°_article_indice_SS_ensemble]
DoCmd.RunSQL "DELETE Tbl_Articles_SS_ensemble.* From Tbl_Articles_SS_ensemble WHERE (((Tbl_Articles_SS_ensemble.Coche_selection_article_ss_ensemble)=True)) and (([N°_article_indice_SS_ensemble])=(Codearticle()));"
Dim varcount_article_utilisé_ss_ensemble As Integer
varcount_article_utilisé_ss_ensemble = DCount("[N°_auto_Article_ss_ensemble]", "Tbl_Articles_SS_ensemble", "[N°_article_indice_SS_ensemble]='" & VarCodearticle & " ' ")
If varcount_article_utilisé_ss_ensemble = 0 Then
Dim strMsg1 As String
strMsg1 = "L'article " & VarCodearticle & " n'est plus utilisé dans un Sous-ensemble." & vbCrLf & "Voulez vous supprimer définitivement cet enregistrement ?" 'On met le message "Voulez-vous.. " dans une variable appelée strMsg
If MsgBox(strMsg1, vbQuestion + vbYesNo, "Confirmation:") = vbYes Then 'On crée une fenêtre qui demande oui ou non à la question posée. Si la réponse au message strMsg est oui alors
Dim Nomrépertoire As Variant
If Right(VarCodearticle, 1) = "A" Then
Nomrépertoire = "\\SERVEUR\Access\Données plans\" & Left(VarCodearticle, 7) ' nom complet du répertoire sur le serveur
Else
Nomrépertoire = "\\SERVEUR\Access\Données plans\" & VarCodearticle ' nom complet du répertoire sur le serveur
End If
fso.DeleteFolder Nomrépertoire, True ' Suppression du dossier
DoCmd.RunSQL "DELETE Tbl_Articles_Ind.* From Tbl_Articles_Ind WHERE (((Tbl_Articles_Ind.N°_article_indice)= Codearticle() ));"
Dim varcount1 As Integer
varcount1 = DCount("[N°_auto_Article_indice]", "Tbl_Articles_Ind", "[N°_article]=" & Left(VarCodearticle, 7))
If varcount1 = 0 Then
DoCmd.RunSQL "DELETE Tbl_Articles_Principale.*, Tbl_Articles_Principale.N°_article From Tbl_Articles_Principale WHERE (((Tbl_Articles_Principale.N°_article)= left(Codearticle(),7)));"
End If
End If
End If
Rst.MoveNext
Loop
Set fso = Nothing
VarCodearticle = Null
Me.Requery
DoCmd.SetWarnings True
Forms![F_Articles_Fiche].Requery
Forms![F_Articles_Fiche].SetFocus
DoCmd.GoToControl "N°_auto_Article_indice"
DoCmd.FindRecord Txt_mem_indice
Else
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Tbl_Articles_ss_ensemble SET Tbl_Articles_ss_ensemble.Coche_selection_article_ss_ensemble = False WHERE (((Tbl_Articles_ss_ensemble.Coche_selection_article_ss_ensemble)=True));"
DoCmd.SetWarnings True
Me.Requery
End If
End If |
Partager