gangstalaz
Gebruiker
- Lid geworden
- 13 sep 2010
- Berichten
- 131
Hallo,
Ik werk met access 2003 en heb het volgende probleem.
Gelukkig werkt op dit moment werkt de database zoals ik het zou willen. Dus ik kan een bestelling plaatsen en per mail verzenden. De bestelling wordt dan in Snapshot verzonden. En dit laatste is een probleem voor de leveranciers. Zij willen het in PDF ontvangen.
Hoe kan ik het rapport in PDF versturen?
De opdrachtknop (verzenden en opslaan) werkt met de volgende code:
Ik hoop dat iemand mij hiermee kan helpen.
Ik werk met access 2003 en heb het volgende probleem.
Gelukkig werkt op dit moment werkt de database zoals ik het zou willen. Dus ik kan een bestelling plaatsen en per mail verzenden. De bestelling wordt dan in Snapshot verzonden. En dit laatste is een probleem voor de leveranciers. Zij willen het in PDF ontvangen.
Hoe kan ik het rapport in PDF versturen?
De opdrachtknop (verzenden en opslaan) werkt met de volgende code:
Code:
Private Sub Rapport_Verzenden_Click()
Dim strsql As String, strSQL_Rapport As String, sEmail As String
Dim sFilter As String, sTabel As String, BestelID As String
Dim x As Integer
BestelID = Me.BestellingID
strsql = "SELECT * FROM tblBestellingen " & vbCrLf
sFilter = " WHERE (BestellingID=" & BestelID & ");"
strsql = strsql & sFilter
sRapport = "rpt_tblBestellingen"
DoCmd.Echo False, "Bezig met openen van recordset."
With CurrentDb.OpenRecordset(strsql)
'Records doorlopen, en rapport voor elk record instellen en mailen
iAantal = .RecordCount
If iAantal > 0 Then
DoCmd.Echo False, "Rapport openen voor bestelling " & BestelID
DoCmd.OpenReport sRapport, acViewDesign, , , acHidden
sTabel = Reports(sRapport).RecordSource
If InStr(1, UCase(sTabel), "WHERE") > 0 Then
strSQL_Rapport = Left(sTabel, InStr(1, sTabel, "WHERE ") - 1)
Else
If InStr(1, UCase(sTabel), "SELECT") = 0 Then
If InStr(1, sTabel, " ") > 0 And InStr(1, sTabel, "[") = 0 Then
sTabel = "[" & sTabel & "]"
End If
strSQL_Rapport = "SELECT * FROM " & sTabel & " "
Else
strSQL_Rapport = sTabel
End If
End If
'Extra loopje, om de punt-komma's te verwijderen.
Do Until Right(strSQL_Rapport, 1) <> ";"
strSQL_Rapport = Left(strSQL_Rapport, Len(strSQL_Rapport) - 1)
Loop
'Klantfilter op rapport zetten
strSQL_Rapport = strSQL_Rapport & sFilter
''tmp = InputBox("", "", strSQL)
Reports(sRapport).RecordSource = strSQL_Rapport
DoCmd.Echo False, "Rapport opslaan ...."
DoCmd.Close acReport, sRapport, acSaveYes
If Me.txtEmail = "" Then
sEmail = InputBox("Wat is het emailadres?", "Email adres controleren", "mail@bedrijf.nl")
Else
sEmail = Me.txtEmail.Value
End If
DoCmd.SendObject acSendReport, sRapport, acFormatPDF, sEmail, , , "Bestelling", " ", False
DoCmd.OutputTo acOutputReport, "rpt_tblBestellingen", acFormatRTF, "K:\bestellingen\Rapport\Rapport_" & Format(Now, "ddmmyy hhmmss") & ".rtf", True
End If
.Close
End With
DoCmd.Echo True
End Sub
Ik hoop dat iemand mij hiermee kan helpen.
Laatst bewerkt: