Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Access Bericht in Outlook ausgeben

Begonnen von bahasu, März 27, 2012, 19:07:07

⏪ vorheriges - nächstes ⏩

bahasu

Hallo,


mit           DoCmd.SendObject acReport, "Mein_Bericht", acFormatTXT, Me.Email_Person.Column(1), "", "", "Test", MessageText, True
bekomme ich den access-Bericht zwar in den Anhang, ich will den Bericht aber im Outlook-message-Teil (also dort, wo "Sehr gegehrte Damen und Herren.... MfG" steht) ausgeben.

Wenn es eine Text-Datei wäre, hätte ich kein Problem deren Inhalt mit Hilfe der Variable "MessageText" an der gewünschten Stelle auszugeben.
Wie bringe ich aber den Bericht dorthin?

Gibt es dafür einen Befehl, API-Aufruf ...?

Möglich Lösungsvariante (orientiert sich an einem manuellen Vorgehen mit Copy und Paste):
1. Bericht in eine Word-Datei lenken (dafür habe ich Routinen)
2. Inhalt der Word-Datei in den Zwischenspeicher bringen (wie geht das?)
3. Inhalt des Zwischenspeichers in die obige MessageText-Variable bringen (wie komme ich an den Zwischenspeicher?)

Welche Alternativen gibt es ansonsten?

Harald
Servus

ebs17

Wenn sich Dein Bericht als Textdatei ausgeben lässt, ist er sicher einfach gestrickt. Da würde ich einfach aus der Datenherkunft des Berichtes einen Text erstellen (siehe SQLListe, ConcatVar oder ähnliche Lösungen) und diesen in das Argument Nachricht einbauen.

MfGA
ebs
Mit freundlichem Glück Auf!

Eberhard

bahasu

Hi,

wie bringe ich den Bericht in eine Text-Form?
Sind schließlich auch noch Fett-Formatierungen, Logos und andere "Unpässlichkeiten" drin.

Harald
Servus

DF6GL

#3
Hallo,


quick & dirty:

Dim txt As String, txtLine As String, LU As Long


DoCmd.OutputTo acOutputReport, "rptDeinReport", acFormatTXT, "c:\DeinReport.txt"
LU = FreeFile
Open "c:\Deinreport.txt" For Input As LU

Do Until EOF(LU)
Line Input #LU, txtLine
txt = txt & txtLine & vbCrLf
Loop
Close LU
DoCmd.SendObject , , , "maximini@minimuster.max", , , "HalliHallo", txt, True




Formatierung (Fett, Font, Schriftgröße, Bilder/Graphiken ) ist aber nich.....


wenn  Formatierungen, geht das nur über HTML-Datei-Format und HTML-Modus (BodyHTML) des Email-Programms.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

ebs17

Plaintext kennt dann aber keine Formatierungen oder gar Bilder.

Dann müsstest Du auf Outlook-Automation umsteigen. Dort ist statt Body auch HTMLBody als Maileigenschaft verfügbar, und Du könntest Deinen Text als HTML-Text erstellen und einfügen - ist dann etwas aufwändiger.

MfGA
ebs
Mit freundlichem Glück Auf!

Eberhard

bahasu

Hallo,

Danke für "HTMLBody": War ein guter Hinweis, da ich jetzt den Bericht in Outlook habe.

Jetzt taucht ein neues Problem auf:
Bei einem Bericht mit mehr als einer Seite erscheint am Ende der Email: "Erster Vorheriger Nächster Letzter" mit dem Hinweis, dass man per strg und Mausklick dorthin springen kann.

Das erste Negative ist, dass das Springen gar nicht funktioniert:
   Ich erhalte die Meldung: "Die Adresse dieser Webseite ist unzulässig. Überprüfen Sie die Adresse und versuchen Sie es erneut."

Das zweite Negative ist, dass überhaupt solch ein Durchzappen durch einen mehrseitigen Report vorgesehen ist.
Meine Lösung, die Seiten-Vorgabe im Bericht zu erhöhen, scheitert daran, dass access 2003 keine Seitenlänge größer als 57,79 cm (DIN A2) akzeptiert.

Frage: Wie kann ich erreichen, dass der Bericht ohne "Erster Vorheriger Nächster Letzter" im Email-html-Body erscheint?

Harald
Servus

DF6GL

Hallo,

Du hast vermutlich mit acFormatHTML den Bericht exportiert....


Dabei wird für jede Berichts-Seite eine separate HTML-Datei angelegt, die diese Navi-Links enthalten. Diesen Block:

<p class=MsoNormal><span style='mso-field-code:" HYPERLINK \0022\0022 "'><span
class=MsoHyperlink>Erster</span></span> <span style='mso-field-code:" HYPERLINK \0022\0022 "'><span
class=MsoHyperlink>Vorheriger</span></span> <a
href="../../../../../../../testreportSeite2.htm">Nächster</a> <a
href="../../../../../../../testreportSeite6.htm">Letzter</a></p>


mußt Du halt aus den einzelnen Dateien ausschneiden und danach alle HTML-Dateien in den HTMLBody einfügen...
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

bahasu

Zitat von: DF6GL am März 28, 2012, 10:33:32
<p class=MsoNormal><span style='mso-field-code:" HYPERLINK \0022\0022 "'><span
class=MsoHyperlink>Erster</span></span> <span style='mso-field-code:" HYPERLINK \0022\0022 "'><span
class=MsoHyperlink>Vorheriger</span></span> <a
href="../../../../../../../testreportSeite2.htm">Nächster</a> <a
href="../../../../../../../testreportSeite6.htm">Letzter</a></p>

Hallo Franz,

wenn ich den importierten Text bis zum Auftreten von ">Erster<" {s.o.} abschneide und mit den anderen Dateien verkette, ist das Ergebnis ok. Danke.

Da ich mich mit html nicht auskenne, noch eine Frage:
Muss ich den gesamten obigen Teil in meinem importierten Text suchen, oder reicht mein Abschneiden bei ">Erster<" aus?
Wenn ich im importierten Text mehr als ">Erster<" suche, hatte ich nichts zum Abschneiden gefunden.
Wie unterscheide ich aber, den Begriff ">Erster<" in der Navigation und wenn er auch im normalen Bericht vorkommt?

Harald
Servus

DF6GL

Hallo,

ich würde den ganzen Text innerhalb des <p>-Tags ausschneiden. Schau Dir halt die einzelnen Seiten an und suche die Unterschiede, damit Du alle Möglichkeiten ausschneiden kannst.

Es dürfte doch nur 3 geben:

Erste Seite
Zwischenseiten
Letzte Seite
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

bahasu

Hallo Franz,

danke.
Bislang reichte es, in allen erstellten html-Dateien (entsprechend Seite 1 bis n aus dem Bericht) den Suchbegriff auf ">Erster<" festzulegen.
Die anderen mußte ich bislang nicht berücksichtigen.

Harald

Servus