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
| Private Sub EnvoyerAvec_Click()
'On utilise le Numéro de facture et non pas CléP_Facture
On Error GoTo Fin
If Me.NbFactSélectionnées >= 1 Then
DoCmd.SetWarnings False
'Purge de la table des factures à envoyer par messagerie
DoCmd.RunSQL "Delete T_Factures_Envoi_Messagerie.CléP_Facture_Envoi_Messagerie FROM T_Factures_Envoi_Messagerie"
'Peuplement de la table des factures à envoyer par messagerie
DoCmd.OpenQuery "R_Factures_Envoi_Messagerie_PeuplementTable"
DoCmd.SetWarnings False
Dim NbFactNoPrintPDF As Integer
Dim FirstFactNuméro As Variant
Dim Strfile As String
Dim qdf As DAO.QueryDef
Set qdf = CurrentDb.QueryDefs!R_Factures_Etat
Do
NbFactNoPrintPDF = DCount("FeM_Facture_Imprimé_PDF", "T_Factures_envoi_Messagerie", "FeM_Facture_Imprimé_PDF = 0")
Me.Test = NbFactNoPrintPDF
FirstFactNuméro = DMin("FeM_Facture_Numéro", "T_Factures_envoi_Messagerie", "FeM_Facture_Imprimé_PDF = 0")
Strfile = "W:\Bases\Iris\FacturesEnvoiMessagerie\" & DLookup("FeM_PDF_Nom", "T_Factures_Envoi_Messagerie", "FeM_Facture_Numéro =" & FirstFactNuméro)
qdf.SQL = "SELECT R_Factures.*, R_Facture_Contenu.* FROM R_Factures LEFT JOIN R_Facture_Contenu ON R_Factures.CléP_Facture = R_Facture_Contenu.FC_Clé_Facture " & _
"WHERE R_Factures.Fact_Numéro = " & FirstFactNuméro
DoCmd.OutputTo acOutputReport, "E_Facture", "PDFFormat(*.pdf)", Strfile, False, "", , acExportQualityScreen
DoCmd.RunSQL "UPDATE T_Factures_Envoi_Messagerie SET T_Factures_Envoi_Messagerie.FeM_Facture_Imprimé_PDF = -1 " & _
"WHERE T_Factures_Envoi_Messagerie.FeM_Facture_Numéro = " & FirstFactNuméro
Loop Until NbFactNoPrintPDF = 1
Else
If MsgBox("Il n'y a aucune facture sélectionnée !" & (Chr(10) & Chr(10)) & _
"Vous devez sélectionner des factures" & Chr(10) & _
"pour pouvoir les voir, les imprimer" & Chr(10) & _
"ou bien les envoyer par messagerie." & Chr(10) & _
"" & (Chr(10)), vbApplicationModal, CurrentDb.Properties("AppTitle")) = vbOK Then Exit Sub
End If
Fin:
DoCmd.SetWarnings True
qdf.SQL = "SELECT R_Factures.*, R_Facture_Contenu.* FROM R_Factures LEFT JOIN R_Facture_Contenu ON R_Factures.CléP_Facture = R_Facture_Contenu.FC_Clé_Facture"
Set qdf = Nothing
End Sub |
Partager