damedom41
Messages postés79Date d'inscriptionmercredi 14 avril 2010StatutMembreDernière intervention 2 août 2014
-
2 août 2014 à 17:03
Whismeril
Messages postés18991Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention27 mars 2024
-
2 août 2014 à 17:21
Bonjour,
Je génère des états à partir d'une base ACCESS que je code en VBA, en particulier des commandes fournisseur, que je souhaite pouvoir envoyer par mail.
Tout fonctionne parfaitement (lorsque l'état est en visualisation clic droit puis choix du format d'export, ou du lien vers outlook)
tant que l'état ne fait qu'une page.
Dès que l'état fait plus d'une page, je reçois le message suivant :
"l'exécution d'une macro personnalisée dans cet état a échoué, ce qui empêche le rendu de l'état".
Je ne comprends vraiment pas, puisque le code VBA est le même (ci-dessous) et que seul le nombre de lignes de produits peut 'obliger' à avoir deux pages au lieu d'une, mais c'est complètement automatique.
Si quelqu'un a une idée, elle serait gravement bienvenue, parce que mon client final est très gêné d'être obligé pour envoyer sa commande d'imprimer l'état, puis de le scanner, puis de l'envoyer à son fournisseur.
Cordialement,
Dominique Boiret
Option Compare Text
Option Explicit
Public dbhcgcli As String
Private Sub EntêteÉtat_Format(Cancel As Integer, FormatCount As Integer)
'MsgBox ("hcgdtc " & HCGDTC & " hcgdtl " & HCGDTL)
txt_hcgdtc2 = Mid(txt_hcgdtc, 7, 2) & "/" & Mid(txt_hcgdtc, 5, 2) & "/" & Mid(txt_hcgdtc, 1, 4)
txt_hcgdtl2 = Mid(txt_hcgdtl, 7, 2) & "/" & Mid(txt_hcgdtl, 5, 2) & "/" & Mid(txt_hcgdtl, 1, 4)
End Sub
Private Sub EntêteÉtat_Print(Cancel As Integer, PrintCount As Integer)
txt_hcgdtc2 = Mid(txt_hcgdtc, 7, 2) & "/" & Mid(txt_hcgdtc, 5, 2) & "/" & Mid(txt_hcgdtc, 1, 4)
txt_hcgdtl2 = Mid(txt_hcgdtl, 7, 2) & "/" & Mid(txt_hcgdtl, 5, 2) & "/" & Mid(txt_hcgdtl, 1, 4)
End Sub
Private Sub PiedÉtat_Format(Cancel As Integer, FormatCount As Integer)
If dbnodata = True Then
Exit Sub
End If
End Sub
Private Sub PiedÉtat_Print(Cancel As Integer, PrintCount As Integer)
If dbnodata = True Then
Exit Sub
End If
End Sub
Private Sub Report_NoData(Cancel As Integer)
dbnodata = True
End Sub
Private Sub ZonePiedPage_Format(Cancel As Integer, FormatCount As Integer)
If IsNull(HCGCLI) = False Then
If lec_client(HCGCLI) = 1 Then
dbhcgcli = rscli("clisoc") & "-" & rscli("cliad1") & "-" & rscli("cliad2")
dbhcgcli = dbhcgcli & "-" & rscli("clicpo") & "-" & rscli("clivil") & " Téléphone " & rscli("clitel")
Else
dbhcgcli = ""
End If
End If
If IsNull(dbhcgcli) = False Then
txt_hcgcli = dbhcgcli
End If
End Sub
Private Sub ZonePiedPage_Print(Cancel As Integer, PrintCount As Integer)
If IsNull(HCGCLI) = False Then
If lec_client(HCGCLI) = 1 Then
dbhcgcli = rscli("clisoc") & "-" & rscli("cliad1") & "-" & rscli("cliad2")
dbhcgcli = dbhcgcli & "-" & rscli("clicpo") & "-" & rscli("clivil") & " Téléphone " & rscli("clitel")
Else
dbhcgcli = ""
End If
End If
If IsNull(dbhcgcli) = False Then
txt_hcgcli = dbhcgcli
End If
End Sub
Penser aux balises de coloration syntaxique: bouton <>, préciser le langage :<code csharp>.
Quand la solution est trouvée, mettre la discussion Résolue.