einen wunderschönen guten abend,
ich habe da mal eine prinzipielle frage:
ich erstelle über eine abfrage einen bericht für zum beispiel 3 kunden
bericht 1 hat 3 seiten - bericht 2 z.b. 2 seiten und bericht 3 hat 5 seiten
ingesamt 10 seiten
wie sende ich diese berichte per email an kunde a ( 3 seiten per pdf ) kunde b (2 seiten per pdf)
und kunde c 5 seiten per pdf
mir fehlt da gerade so der zugang dazu , denn in der berichtsvorschau habe ich gesamt 10 seiten / wie trennt access das auf ?
Hallo,
filtere den Bericht jeweils für einen Kunden, den kannst du dann senden.
Was ist denn aus dem Thema "Berichtskopf/Seitenkopf" geworden?
Du hast nicht mehr geantwortet.
danke werde mich die tage mal dran machen :-)
antort zu gruppenkopf siehe gruppenlopf :-)
schreibe ich gleich rein
sorry aber lässt mich jetzt nicht los- lag schon im bett -
ich habe ein formular, auf dem ich aus z.b. 65 datensätzen / kunden per kontrollkästchen auswählen, welcher kunde nun einen berich erhält.
wenn ich nun drei kunden per kontrollkasten auswähle, dann erhalte ich auch drei berichte kunde a 3 seiten kunde b 2 Seiten und kunde c 5 seiten
in der berichtsvorschau steht aber nicht wie erhofft bei kunden a seite 1 von 2 sondern seite 1 von 10
insofern fehlt noch die abtrennung der berichte auf die kundennummer
Bericht filtern geht dann wohl anders, oder
mein ziel wäre kunde a z.b. seite 1 von 2 und seite 2 von 2, um diesen bericht dann per mail zu versenden
wenn ich jeden bericht pro kunde einzeln öffnen müsste, würde es schon sehr lange dauern, wenn ich z.b. 50 berichte öffne ...
sorry aber das musste ich noch loswerden & vilen Dank für eure geduld, ich hoffe ihr kennt die "verzweilung" wenn Ihr x Tage und Stunden an einer DB sitzt und ihr mnachmal das gefühl habt eins gelös, 10 neue probleme kommen
Danke euch
ostill
Hallo,
Zitatwenn ich jeden bericht pro kunde einzeln öffnen müsste, würde es schon sehr lange dauern, wenn ich z.b. 50 berichte öffne .
Da bleibt nichts anderes übrig... wie auch MzKiMu gepostet hat.
Warum dauert es so lange? Sowas, einschließlich dem Versand, löst man mit Hilfe eines Button-Klicks und ein paar Prozeduren...
Außerdem solltest Du die Seitenansicht anstelle der Berichtsansicht verwenden, um das genaue Layout für den Ausdruck, bzw. die für die genereierte PDF-Datei zu sehen.
Und dies:
Zitatwenn ich nun drei kunden per kontrollkasten auswähle, dann erhalte ich auch drei berichte kunde a 3 seiten kunde b 2 Seiten und kunde c 5 seiten
kann dann nicht stimmen. Du erhältst einen Bericht, der Daten über 3 Kunden ausgibt.
ich begrüsse euch - also ich habe nun im formular, in dem ich die kunden,die einen bericht erhalten sollen,
per haken ausgewält - zum test drei an der zahl - siehe bild 1
dann habe ich eine schältfläche mit nachfolgendem vba code versehen
Private Sub Befehl63_Click()
DoCmd.SendObject acSendReport, "Kontoabstimmung_drucken_4", acFormatPDF, , , , "Betrifft irgendwas", "Beispiel Text", True
es funkioniert so semi - es wird für den ersten Kunden eine mail erstellt - mit dem Formular - alles toll
allerdings auch nur für den "ersten" kunden - für die beiden danach passiert nix ...
Hallo,
tja, so einfach geht das ja nicht..
Du musst in einem Recordset die markierten Datensätze laden und per Schleife für jeden Kunden den individuellen Bericht drucken.
Hi & hallo,
vielen Dank für den Recordset Hinweis - habe ich nun auch erstellt -
Nun wähle ich z.B. 4 Kunden aus - Drücke auf Bericht senden -
es geht eine Outlook-Nachricht auf, aber im Feld an stehen alle 4 mailadressen der ausgewählten Kunden
Bericht ist als PDF angehängt- Text im Betreff steht drin - Text in der Nachricht steht auf drin
eigentlich schick aber.... es sollte eigentlich pro Datensatz ein Bericht erstellt werden; nun erstellt accesss einen bericht mit 4 mailadressen
Code sende ich mal mit
-----------------------------------------------------------------------
Dim rs As DAO.Recordset
Dim mailadd As String
Set rs = CurrentDb().OpenRecordset("KontoabstimmungTest")
Do While Not rs.EOF
mailadd = mailadd & "; " & rs!emailadresse
rs.MoveNext
Loop
DoCmd.SendObject acSendReport, "Kontoabstimmung_drucken_4", _
acFormatPDF, Mid(mailadd, 3), , , _
"Leergut Kontoabstimmung", "Sehr geehrte Damen und Herren, .......", True
rs.Close
Set rs = Nothing
End Sub
-----------------------------------------------------------------------------------------------------
Kann mir jemand helfen; Ziel wäre z.B. 5 Kunden auswählen - dann auf Knopf drücken -
dann geht Outlook auf (oder der Prozess läuft im Hintergrund) - Kunde 1 bekommt mail mit Text & PDF als Anhang -
GRüsse
ostill
Das DoCmd.SendObject gehört in die Schleife, so dass es für jeden Datensatz einmal ausgeführt wird.
Allerdings fehlt da noch eine Beschränkung der Daten in dem Bericht auf den jeweils aktuellen Kunden. Evtl. hilft dazu: Gefilterten Access-Bericht als PDF exportieren (https://codekabinett.com/rdumps.php?Lang=1&targetDoc=gefilterten-access-bericht-pdf-exportieren-docmd-outputto) - Anstelle der PDF-Ausgabe setzt du dann SendObject ein.
Zitatso dass es für jeden Datensatz einmal ausgeführt wird.
Aber nur an eine Adresse, und nicht jedes mal an alle
mailadd = mailadd & "; " & rs!emailadresse