PDA

Vollständige Version anzeigen : Suche VBA-Code für Datenübergabe nach Word


doc44
31.05.2001, 07:58
Moin Gemeinde,

Ich habe in einem Formular ein Button eingefügt, der Word öffnen soll und den Inhalt einer Abfrage einfügen soll. Solange diese Abfrage aus einem Datenfeld besteht funktioniert die Sache, wenn aber ein kompletter Datensatz, also eine Zeile, sprich mehrere Datenfelder nebeneinander, in word eingefügt werden sollen, funktioniert die ganze Sache nicht mehr.
Gibt es hier eine Funktion bzw VBA-Code, der dies ermöglicht?

gruß
doc44

Stefan Kulpa
31.05.2001, 08:07
Hallo,

von wo aus und wie rufst Du denn den Inhalt der Abfrage auf? Access oder VB?

Du kannst doch den Inhalt der einzelnen Felder der Abfrage zunächst in einer Variable speichern und dann erst in Word einfügen ... wie gehst Du denn bisher vor?

Gruß

doc44
31.05.2001, 13:23
Leider konnte ich in dieser Hinsicht noch kein positives Ergebnis erreichen.
Ich konnte nur einzelne Textfelder mit einer Ereignisprozedur nach Word übermitteln.
Wie eine Abfrage in eine Variable gespeichert wird weiß ich nicht.

Für eine Antwort auf diese Probleme wäre ich sehr dankbar, evtl. per mail?

Stefan Kulpa
01.06.2001, 08:49
<font face="Verdana" size="2">Hallo,

ich würde das mittels DAO "ausprogrammieren" - ob es da einen integrierten Access-Weg gibt, weiss ich nicht (s. Access-Forum).
Hier also mein Lösungsvorschlag:</font>

<PRE><FONT SIZE=1 FACE=Courier New><FONT COLOR=#000080>Sub</FONT> ExportToWord_Example()

<FONT COLOR=#008000>'// =========================================================</FONT>
<FONT COLOR=#008000>'// Beispiel mit DAO (explizit Verweis erstellen!)</FONT>
<FONT COLOR=#008000>'// =========================================================</FONT>
<FONT COLOR=#000080>Dim</FONT> objDb <FONT COLOR=#000080>As</FONT> DAO.Database
<FONT COLOR=#000080>Dim</FONT> objRs <FONT COLOR=#000080>As</FONT> DAO.Recordset
<FONT COLOR=#000080>Dim</FONT> objWd <FONT COLOR=#000080>As</FONT> Object
<FONT COLOR=#000080>Dim</FONT> sRec <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>String</FONT>
<FONT COLOR=#008000>'// =========================================================</FONT>
<FONT COLOR=#008000>'// Abfrage als Recordset öffnen</FONT>
<FONT COLOR=#008000>'// =========================================================</FONT>
<FONT COLOR=#000080>Set</FONT> objDb = CurrentDb()
<FONT COLOR=#000080>Set</FONT> objRs = objDb.OpenRecordset("qrySeminare")
<FONT COLOR=#008000>'// =========================================================</FONT>
<FONT COLOR=#008000>'// MS Word (versionsunabhängig) öffnen und neue Datei erstellen</FONT>
<FONT COLOR=#008000>'// =========================================================</FONT>
<FONT COLOR=#000080>Set</FONT> objWd = CreateObject("Word.Basic")
objWd.FileNew
<FONT COLOR=#008000>'// =========================================================</FONT>
<FONT COLOR=#008000>'// Daten des Recordsets in einer Schleife abfragen</FONT>
<FONT COLOR=#008000>'// =========================================================</FONT>
<FONT COLOR=#000080>Do</FONT> <FONT COLOR=#000080>Until</FONT> objRs.EOF
sRec = objRs.Fields(0) & vbTab & _
objRs.Fields(1) & vbTab & _
objRs.Fields(2) & vbCrLf
objWd.Insert sRec
objRs.MoveNext
<FONT COLOR=#000080>Loop</FONT>
objWd.AppShow <FONT COLOR=#008000>'Word sichtbar machen ...</FONT>
<FONT COLOR=#008000>'// =========================================================</FONT>
<FONT COLOR=#008000>'// Objekte "zerstören"</FONT>
<FONT COLOR=#008000>'// =========================================================</FONT>
objRs.<FONT COLOR=#000080>Close</FONT>: <FONT COLOR=#000080>Set</FONT> objRs = <FONT COLOR=#000080>Nothing</FONT>
objDb.<FONT COLOR=#000080>Close</FONT>: <FONT COLOR=#000080>Set</FONT> objDb = <FONT COLOR=#000080>Nothing</FONT>

<FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Sub</FONT>

</FONT></PRE>

<font face="Verdana" size="2">HTH</font>

Phillip-Berlin
01.06.2001, 10:35
ich habe vor kurzem ein kleines beispiel dazu erstellt ... www.serve-u.de/files/access-word.zip (http://www.serve-u.de/files/access-word.zip)
es werden daten aus einer abfrage in einen strFilter übergeben welcher dann an word übergeben wird .. seriendruck .. etc.
vieleicht hilfts

doc44
06.06.2001, 07:42
danke jungs, es funzt :D