PDA

Vollständige Version anzeigen : Daten von Access in Word


Mel
27.08.2001, 22:05
Hallo mal wieder,

ich habe im Word ein Fax.Dot erstellt. Nun möchte ich Daten, wie Anschrift, Ansprechpartner, Fax-Nummer usw. in Wort exportieren.

Was ich soweit gemacht habe:
1. Abfrage erstellt, aus den notwendigen Daten, welche mir den Firmennamen und den Ansprechpartner anzeigt.
2. Erstellung eines Serienbriefes (ich will ja eigentlich keinen Serienbrief, weil ich ja nach einem bestimmten Kunden abfrage, aber ich weiss sonst keine andere Möglichkeit) über den Serienbriefassistenen von Access aus!

Frage:
Nun möchte ich einen Button in ein Formular einfügen, welches diese Abfrage ausführt und mir das Word.Dot mit den entsprechenden Daten anzeigt.

Geht das?

Danke schon mal im voraus,
Mel

Lupus
28.08.2001, 05:19
Hi ..

Accessdaui will auch mal was sagen :D (damit meine ich mich!)

Frage zurück: Warum verknüpfst du dein Wort.DOT nicht mit der Abfrage?
Dann müsste immer wenn die Word.DOT geöffnet wird nur der eine Datensatz in Word angezeigt, bzw. steht zum Drucken/Faxen bereit ....
Spontane antwort um 06:16 ... also erst mal prüfen ... gäääähn. :)

Gruß müder Lupus

Mel
28.08.2001, 08:12
Morgen Lupus,

hab ich vielleicht schlecht erklärt! Hab ich schon gemacht, die Verknüpfung zwischen der Abfrage in Access und dem word.dot!
Wenn ich jetzt vom Explorer das .dot öffnen will, öffnet sich Word und nichts passiert, dann muß ich in Access gehen, die abgefragten Begriffe (Firmenname und Ansprechpartner) eingeben (komischerweise 2 mal, wenn ich die Abfrage so ausführe, dann muß ich diese Daten nur 1 Mal eingeben), dann kann ich wieder auf Word klicken, muß diese Befehlsschaltfläche mit ABC oder so ähnlich drücken und dann hab ich die entsprechen Daten übergeben an mein Word.dot!

Das ist mir aber zu kompliziert für den User!

Deshalb hätte ich gerne einen Button von Access aus gehabt, damit ich nicht zwischen Access und Word hin- und herschalten muß, wenn ich die Kriterien eingeben will.

Klar was ich meine?

Mel

sekoe
28.08.2001, 08:23
Hi,
ich würde die Abfrage als TXT-File exportieren:
DoCmd.TransferText acExportMerge, , "Abfrageblablabla", "C:\FaxTool.txt"
Danach mit
wrd.ActiveDocument.MailMerge.OpenDataSource "C:\FaxTool.txt"
, , , True
zuweisen und ausführen:
wrd.ActiveDocument.MailMerge.Execute

Mel
28.08.2001, 12:13
Ohje, hört sich gut an, aber geht das vielleicht auch noch ein bisschen genauer? Hab nicht wirklich Ahnung von VBA!

Danke,
Mel

MartinL
28.08.2001, 12:49
Private Sub BriefSchreiben_Click()

Dim oWord As Object
Dim DotName As String
'Dim Bereich As Word.Range - Falls Du das brauchst.


Set oWord = CreateObject("Word.Basic")
DotName = "C:\WINDOWS\Anwendungsdaten\Microsoft\Vorlagen\Brief.dot"
'Falls Du eine Dokumentenvorlage verwenden möchtest - sehr zu empfehlen. Prüfen, ob es die gibt:

With oWord
If Dir(DotName) = "" Then
MsgBox "Word DOT-Datei " & DotName & " fehlt!", vbOKOnly, "Fehler"
.FileNew
Else
.FileNew DotName
End If

.Insert "Hier fügst Du ein, was immer Du willst"

.EditGoTo "1" 'Schaltet Word auf die 1. Seite


'.FileSaveAs "C:\DerBrief.DOC" Falls Du das Dokument sichern willst.
.AppShow 'Jetzt wird Word sichtbar, das obrige geschieht versteckt
End With

Set oWord = Nothing ' Gbt den Speicher frei
'Viel Erfolg. Das mit der Textdatei is nicht so elegant, find ich.

Phillip-Berlin
28.08.2001, 14:41
hier werden sie geholfen

Filterfunktion, Seriendruck aus Word (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=47463)

Mel
28.08.2001, 17:22
Danke für Eure Hilfe, werd's morgen gleich mal probieren!

Ich hoffe, ich krieg das hin, wenn nicht, meld ich mich morgen nochmal!

Grüßles,
Mel

Mel
29.08.2001, 13:51
Hallo,

ich hoffe ihr seid heute wieder da und könnt mir helfen.

Martins Vorschlag hab ich so nicht hinbekommen, habe dann auf Rat von Phillip zurückgegriffen und mal im Web gesucht. Habe auch jede Menge gefunden und ausprobiert:

Private Sub MergeButton_Click()
On Error GoTo MergeButton_Err
Dim ObjWord As Word.Application
Set ObjWord = CreateObject("Word.Application")

With ObjWord
.Visible = True
.Documents.Open ("d:\access_word\brief_kunde_2")
.ActiveDocument.Bookmarks("firmenname").Select
.Selection.Text = (CStr(Forms!frm_kunde_register!uf_kundendaten!Firmenname))
.ActiveDocument.Bookmarks("liefer_strasse").Select
.Selection.Text = (CStr(Forms!uf_kunde_adresse!Firmenname))
.ActiveDocument.Bookmarks("liefer_plz").Select
.Selection.Text = (CStr(Forms!frm_kunde_register!uf_kunde_adresse!Firmenname))
.ActiveDocument.Bookmarks("liefer_ort").Select
.Selection.Text = (CStr(Forms!frm_kunde_register!uf_kunde_adresse!Firmenname))
.ActiveDocument.Bookmarks("liefer_land").Select
.Selection.Text = (CStr(Forms!frm_kunde_register!uf_kunde_adresse!Firmenname))
.ActiveDocument.Bookmarks("anrede").Select
.Selection.Text = (CStr(Forms!frm_kunde_register!uf_kunde_ansprechpartner!Firmenname))
.ActiveDocument.Bookmarks("nachname").Select
.Selection.Text = (CStr(Forms!frm_kunde_register!uf_kunde_ansprechpartner!Firmenname))
.ActiveDocument.Bookmarks("vorname").Select
.Selection.Text = (CStr(Forms!frm_kunde_register!uf_kunde_ansprechpartner!Firmenname))
.ActiveDocument.Bookmarks("briefanrede").Select
.Selection.Text = (CStr(Forms!frm_kunde_register!uf_kunde_ansprechpartner!Firmenname))
End With

MergeButton_Err:
If Err.Number = 94 Then
ObjWord.Selection.Text = ""
End If

End Sub

Das ist also mein Ergebnis. Problem: dieses Modul funktioniert so schon mal nicht, aber kein Wunder, hab ja, wie gesagt, kaum Ahnung von VBA! Mein Button öffnet mir zwar Word aber nicht das ausgewählte dot.

Dennoch gefällt mir das Modul nicht wirklich. Ich hätte lieber die SQL-Abfrage mit eingebunden, so daß beim Klick des Buttons auch der "firmenname" des Kunden und der "name" des Ansprechpartners abgefragt werden kann!

Wenn ich das SQL in das Modul einbinden will, was muß ich dann davor schreiben, muß ich eine Variable definieren?

Vielleicht könnt Ihr mir hier nochmal helfen!!!!!

Danke schon mal im voraus,
Mel

Mel
29.08.2001, 13:57
Das ist übrigens die SQL-Anweisung, vielleicht hilf die ja!

SELECT tbl_kunde.firmenkurzname, tbl_kunde.firmenname, tbl_kunde.liefer_strasse, tbl_kunde.liefer_plz, tbl_kunde.liefer_ort, tbl_kunde_ansprechpartner.anrede, tbl_kunde_ansprechpartner.nachname, tbl_kunde_ansprechpartner.vorname, tbl_kunde.fax, tbl_kunde_ansprechpartner.brief_anrede
FROM tbl_kunde INNER JOIN tbl_kunde_ansprechpartner ON tbl_kunde.lfd_kunde = tbl_kunde_ansprechpartner.lfd_kunde
WHERE (((tbl_kunde.firmenkurzname)=[Firmenkurzname:]) AND ((tbl_kunde_ansprechpartner.nachname)=[Nachname:]));

Nochmal Danke,
Mel

Phillip-Berlin
29.08.2001, 13:58
von dem was ich dir geraten habe kann ich in deinem posting allerdings nicht viel finden :)

.Documents.Open ("d:\access_word\brief_kunde_2")

da fehlt schonmal ein .dot

Mel
29.08.2001, 14:03
Doch, hab ich auch probiert (nehme doch Deine Ratschläge ernst), aber da kommt schon mal Fehler beim Kompilieren in dieser Zeile:

Set objWord = CreateObject ("Word.Application")

Dann hab ich's nach der oben beschriebenen Variante versucht.

habe .dot eingefügt, ändert aber rein garnichts!!!!

HILFE!!!!!

Mel

Judith
29.08.2001, 15:45
Hallo!

Hast du unter Extras|Verweise Microsoft Word .. Object Libary aktiviert. Wenn nicht, dann aktivieren.

Lupus
29.08.2001, 17:21
mal dazwischen fragt:
warum eigendlich ein dot ?
warum nicht ein fertiger serienbrief.doc, das aufrufen dieses briefes als makro in WORD hinterlegt, mit einem sysmbol in der menüleiste von Word.
das serienbrief.doc, schreibgeschützt.

so spontan ohne zu überlegen dahingeschrieben

Gruß Lupus