Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Bericht mit Unterbericht nach Word exportieren

Begonnen von harko38, Oktober 02, 2019, 11:29:48

⏪ vorheriges - nächstes ⏩

harko38

Liebe Community!

Die Aufgabe einen Bericht von einem aktuellen Datensatz zu erstellen beschäftigt mich nun schon seit einigen Tagen.

Ich möchte aus einem Formular mit 2 Unterformularen einen Bericht vom aktuellen Datensatz erstellen. Mein Problem ist nun dass bei dem von Access erstellten Bericht dieser noch weiter formatiert und mit individuellem Text ergänzt werden soll.

Bei der Variante Word - Serienbrief scheitert es daran dass ich da nicht den Inhalt der Daten in den Unterformularen darstellen kann - oder gäbs da eine Lösung?

Bei der Variante Access - Bericht kann ich ja im Nachhinein nichts mehr formatieren und ergänzen.

Könntet ihr mir da bitte behilflich sein?

lg Harry

ebs17

Variante Word - Serienbrief
Denkbar wäre folgendes: Den Dateninhalt jedes Unterformulars fasst Du per SQLListe o.ä. zu einem String zusammen und legst diesen in ein zusätzliches Seriendruckfeld.
Da sollten die Inhalte aber so sein, dass eine vernünftige Darstellung z.B. über Tabstops realisierbar ist.

Variante Word-Einzeldokumente in Schleife
Hier kannst Du Dir (nach Anmeldung) aus folgender Demo einige Gedanken entnehmen: Demo-Datenbank – Wordtabelle aus Access füllen
Mit freundlichem Glück Auf!

Eberhard

harko38

Hallo Eberhard

Danke für den Tipp, an die Demo-Datenbank komm ich aber leider nicht ran. Obwohl ich registriert und angemeldet bin.

lg Harry

ebs17

Im beigefügten Code wird ein Recordset mittels ConvertToTable in eine Wordtabelle umgeformt, diese Wordtabelle wird dann an eine Textmarke angefügt.

Das Recordset sollte den Inhalt des Unterformulars enthalten.
Mit freundlichem Glück Auf!

Eberhard

harko38

Hallo Eberhard

danke erstmal für die Hilfe. Auf den ersten Blick bin ich damit etwas überfordert. Aber ich werde das einmal in Ruhe ausprobieren.

lg Harry

Micharius

Hi Harry

Habe mit Laienwissen mit VBA etwas ähnliches erstellt, eine DB wo ich sicher 8 verschiedene Tabellen mit Bezug zu einer einzelnen ID in einem Word Dokument erzeuge. Habe den Code anhand von einem Beispiel aus einem sehr hilfreichen Buch namens "Access und Office" erstellt.  In diesem Lösungsansatz erstellst du wie auch bei Eberhard alles aus Access heraus: Das Word Dokument, die Tabelle mit der gewünschten Anzahl Spalten und Breite, das Befüllen der Tabelle und auch den gewünscht eine Totalzeile. Falls du nicht weiter kommst kann ich dir sicher ein paar Tipps geben.

Gruss Micharius

harko38

Hallo Micharius

das klingt interessant. Kannst du mir mehr über das Buch sagen - ich finde es nirgends. Titel und Verlag vielleicht?

lg Harry

emmoticon

Hast du mal ausprobiert ein Formular mit deinen Daten auf DIN-A4 Version mit einem beschreibaren Feld zu erstellen? Das Formular kann man auch ausdrucken.
Gruß, Smiley mit Rechtschreibfehler

ebs17

#8
Vermutlich sind wir uns einig, dass man über eine Tabelle im Worddokument Daten eines Unterformulars wunderbar strukturiert darstellen kann. Die Tabelle kann man nachfolgend auch noch formatieren und dem Stil des Dokumentes anpassen.

Im Anhang habe ich ein Dokument hinterlegt, dass sehr anschaulich und ausführlich auf Wordtabellen unter VBA eingeht. Dieses Dokument ist ein winziger Auszug aus der legendären Word-FAQ von Smaug, die leider vor einigen Jahren aus dem Internet zurückgezogen wurde und nur noch in Spuren (Fremdrücksicherungen) existiert.
Damit könntest Du dann die Tabelle auch Schritt für Schritt aufbauen und füllen. Die oben offerierte ConvertToTable- Methode macht das auf einen Rutsch.

Wegen des Buches: Access und Office
Mit freundlichem Glück Auf!

Eberhard

Micharius

Hallo zusammen

Merci Eberhard für den Buchlink, hätte den glaub auch nicht mehr gefunden.
@Harry, das Kapitel mit dem beschriebenen Word ist das Kapitel 11 "Word-Rechnungen".

Was ich mit der wdRange.ConvertToTable Methode nicht geschafft habe war, ein eigenes Layout für die Tabelle auszuwählen, also diejenigen, die man als "Tabellenformatvorlagen" gerne schön CD-mässig hinterlegt hat. Die lassen sich mit der "Buchmethode" ganz schön einbauen. Features wie Ergebniszeile an aus oder Stiländerungen lassen sich dann super schnell umsetzen.

Was ich auch noch gemacht habe, ist das automatische Befüllen von den Dokumenteneigenschaften des Word Dokuments (Titel, Thema, Firma, Kommentar) und das Einfügen von "Benutzerdefinierten Dokumenteneigenschaften", welche genial sind für das Einfügen von variablen Werten, die man mehrere Male in einem Dokument braucht. (siehe https://blog.stefan-macke.com/2016/09/20/variablen-dokumenteigenschaften-fuer-texte-in-microsoft-word-verwenden/

Guck doch mal wie du weiterkommst. Bin grade im Urlaub, aber wenn du nicht weiterkommst, kann ich mir mal ab Montag in einer Woche mal 'ne Stunde Zeit nehmen und meine DB in eine Demo umwandeln, bei denen diese Features ausprobiert werden können.....

Lieber Gruss und viel Erfolg,

Micharius

harko38

Hallo Leute,

ich habe mir jetzt mal das Buch bestellt. Sollte in den nächsten Tagen ankommen.

Ich habe ja bereits einige Datenbanken erstellt. Und jedes mal wenn ich dann etwas VBA benötigte hab ich mir irgendwo die nötigen "Vorlagen" gesucht und für meine Zwecke so recht und schlecht umgebastelt.
Hättet ihr vielleicht einen Tip für mich wie ich VBA-Programmierung von Null an lernen könnte? Ich hab schon einige Bücher, aber scheinbar fehlt mir einfach das Grundwissen. Ich würde das so gerne lernen - nicht nur für dieses Projekt.  ;)


LG und großen Dank bisher
Harry

emmoticon

Servus Harry!

In Sachen VBA haben mir die Videos vom Steve Bishop geholfen: https://www.youtube.com/playlist?list=PLYMOUCVo86jEeMMdaaq03jQ_t9nFV737s (auf englisch)

Als ich Programmier / VBA-Neuling war habe ich in einem bestehenden oder ehemaligen Projekt gewisse Aufgabenstellung herausgepickt und diese mal komplett via VBA geschrieben. Vieles lässt sich über VBA super automatisieren, benötigt aber manchmal einbisschen strukturelle Änderungen.

Drück dir die Daumen!
Gruß, Emmo
Gruß, Smiley mit Rechtschreibfehler

harko38

Hallo Leute!

Ich habe jetzt ewig auf das Buch gewartet (5 Wochen) aber jetzt hab ichs und es hat mir auch schon ein schönes Stück weiter geholfen.

Ich bin jetzt soweit dass ich aus meinem Acces Formular mittels Schaltfläche eine vorbereitete Word-Vorlage öffnen und mit den jeweiligen Daten die Textmarken in Word befüllen kann.

Wenn ich jedoch auf Daten aus einer verknüpften Tabelle oder einem Unterformular zugreifen will steh ich wieder an.

Problem:
Ich befülle die Textmarke in Word mit

   Set objBookmark = objDocument.Bookmarks("ITSachbearbeiter")
   objBookmark.Range = Me![IT-Sachbearbeiter_ID]


Da das Feld "IT-Sachbearbeiter_ID" mit der Tabelle "tbl_IT-Sachbearbeiter" verknüpft ist bekomme ich als Ergebnis nur die Zahl angezeigt. Und ich komm einfach nicht drauf wie ich das ändern könnte. (Schäm)

lg Harry

silentwolf

Hallo,
erstelle eine Abfrage die Du dann für die Datensatzquelle des Unterformulars verwendest.
In der Abfrage kannst ja ein "ITSachberater" erstellen und diese der Textmarke übergeben.

HTH


harko38

Hallo

Danke erstmal für die rasche Antwort.

Aber ich komm da nicht zurecht.

Also ich befinde mich in meinem Eingabeformular. Da gibts eine Schaltfläche und durch klick darauf wird eine Word-Vorlage geladen und die entsprechenden Textmarken befüllt.

Da das Feld "IT-Sachbearbeiter" also der Name aus einer verknüpften Tabelle stammt erhalte ich im Textfeld nur die ID des Sachbearbeiters.
Ich verstehe einfach nicht wie ich es schaffe dass mir der Name und nicht die ID übernommen wird.

Ob der Wert jetzt aus einer Abfrage oder Tabelle übernommen wird ist doch egal oder??? Ich finde nur den Weg dorthin nicht.....

lg Harry