Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Serienbrief über Access aufrufen
zurück: Datenbank *.exe updaten? weiter: Datumfeld im Endlosfrm mit Kontrollkästchen aktivieren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
chris0709
Gast


Verfasst am:
13. Jan 2009, 15:56
Rufname:

Serienbrief über Access aufrufen - Serienbrief über Access aufrufen

Nach oben
       Version: Office 2003

Hallo,

ich soll eine Datenbank mit Access erstellen, mit der es möglich ist über einen button einen Serienbrief zu öffnen. Ich dachte mir das könnte über ein Formular funktionieren, komme aber leider nicht weiter.
Wie man ein Formular macht weiß ich, aber wie kann ich hinterlegen dass ein Button des Formulars den Serienbrief öffnet?

Vielen Dank schonmal

Gruß

Chris
Alf2009
Access-Programm., SAP-Cons./Entw./Trainer


Verfasst am:
13. Jan 2009, 18:42
Rufname:
Wohnort: Mannheim


AW: Serienbrief über Access aufrufen - AW: Serienbrief über Access aufrufen

Nach oben
       Version: Office 2003

Das würde mich auch interessieren. Ich habe gerade einfach mal die Suche mit "Word öffnen" gestartet und ein paar Einträge gefunden. Mach das doch auch mal.

Bin gerade dabei, mir das näher anzuschauen.

(späterer Edit:)
Also ich habe mir jetzt gerade auf die schnelle eine kleine, etwas andere Aufgabe gestellt: Word starten und die Serienbrief-Datenquelle in Word ändern.

Es hat geklappt. Dies war der Code:
Code:
Option Compare Database
Option Explicit

Sub WordTesten()
  Dim wdApp As Object
  Dim wdDoc As Object
  Dim wordFileName As String
  Dim accessFileName As String
 
  accessFileName = "DeinPfadzurDBmitdenSerienbriefdaten"
  Set wdApp = CreateObject("Word.Application")
  wdApp.Visible = True
  Set wdDoc = wdApp.Documents.Add
  wordFileName = "DeinPfadzumexistierendenWordDokument"
  With wdApp
    .Documents.Open FileName:=wordFileName, ConfirmConversions:=False _
        , ReadOnly:=False, AddToRecentFiles:=False _
        , PasswordDocument:="", PasswordTemplate:="" _
        , Revert:=False, WritePasswordDocument:="" _
        , WritePasswordTemplate:="", Format:=wdOpenFormatAuto
    .ActiveDocument.MailMerge.OpenDataSource Name:=accessFileName _
        , ConfirmConversions:=False, ReadOnly:=False _
        , LinkToSource:=True, AddToRecentFiles:=False _
        , PasswordDocument:="", PasswordTemplate:="" _
        , WritePasswordDocument:="", WritePasswordTemplate:="" _
        , Revert:=False, Format:=wdOpenFormatAuto _
        , Connection:="Provider=Microsoft.Jet.OLEDB.4.0;" _
        & "User ID=Admin" & accessFileName & ";" _
        & "Mode=Read;Extended Properties="""";" _
        & "Jet OLEDB:System database="""";" _
        & "Jet OLEDB:Registry Path="""";" _
        & "Jet OLEDB:Database Pas" _
        , SQLStatement:="SELECT * FROM `Namenstabelle`" _
        , SQLStatement1:="" _
        , SubType:=wdMergeSubTypeAccess
  End With
  Set wdDocM = Nothing
  Set wdApp = Nothing
End Sub
zuletzt korrigiert 17:04h!
_________________
Besten Gruß

Alf

Feedback hilft Allen! Ich antworte grundsätzlich nur auf Postings des Themen-Eröffners.


Zuletzt bearbeitet von Alf2009 am 14. Jan 2009, 18:04, insgesamt 2-mal bearbeitet
chris0709
Gast


Verfasst am:
14. Jan 2009, 09:47
Rufname:

AW: Serienbrief über Access aufrufen - AW: Serienbrief über Access aufrufen

Nach oben
       Version: Office 2003

Hallo Alf2009,

Erstmal danke für die Antwort.

Ich bin Anfänger auf diesem gebiet, habe bisher noch keine eigene Datenbank erstellt. Leider kann ich auch kein VBA... Muss diese Datenbank im Rahmen meines Studiums als erstes Projekt erstellen.
Wie kann ich erreichen, dass ich mit so einem Code wie in dem Beispiel ein Button auf einem Formular einen Serienbrief öffnet?
Ich habe einfach den code aus deinem Beispiel genommen und die Pfade für die Datenbank und die Word Datei durch meine ersetzt. Anschließend habe ich den Code in meinen Button hinterlegt. Aber es passiert garnichts.

Gibt es ein gutes Tutorial wo ich solche Dinge lernen kann?

Gruß

Chris
Willi Wipp
Moderator


Verfasst am:
14. Jan 2009, 17:36
Rufname:
Wohnort: Raum Wiesbaden

Re: Serienbrief über Access aufrufen - Re: Serienbrief über Access aufrufen

Nach oben
       Version: Office 2003

Hi chris0709,

hier noch ein anderer Ansatz der davon ausgeht das Du bereits ein existierendes Hauptdokument (Serienbrief) hast,
das mit einer funktionierenden Datenquelle verbunden ist!
Code:
Option Compare Database
Option Explicit

Public Sub Make_WordDocument()
    Const wdMainAndDataSource = 2
    Const wdDialogFileSaveAs = 84
    Const wdDoNotSaveChanges = 0
    Const cstrSerienbrief     As String = "C:\DeinPfad\DeinDokument.doc"
    Const cstrZielPfad        As String = "C:\DeinZielPfad\"
    Dim blnWordActiv          As Boolean
    Dim bytDocTargetTyp       As Byte
    Dim wdApp   As Object 'Word.Application
    Dim wdDocM  As Object 'Word.Document 'Hauptdokument (Serienbrief) {Master}
    Dim wdDocC  As Object 'Word.Document    'Erstellter "Serienbrief" {Client}
   
    bytDocTargetTyp = 1              '1 = Anzeigen; 2 = Drucken; 3 = Speichern
    On Error Resume Next
    Set wdApp = GetObject(, "Word.Application")                   'Läuft Word?
    If wdApp Is Nothing Then
        Set wdApp = CreateObject("Word.Application")
    End If
    On Error GoTo 0
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True     'Fuers Testen aktiv damit man sieht was passiert!
    Set wdDocM = wdApp.Documents.Open(FileName:=cstrSerienbrief)
    If wdDocM.MailMerge.State = wdMainAndDataSource Then
        wdDocM.MailMerge.Execute
        Set wdDocC = wdApp.Documents(1)
        Select Case bytDocTargetTyp
          Case 1:                                                    'Anzeigen
            wdDocC.Application.Visible = True
          Case 2:                                                     'Drucken
            wdDocC.PrintOut
          Case 3:                                                   'Speichern
            wdApp.ChangeFileOpenDirectory cstrZielPfad
            wdApp.Dialogs(wdDialogFileSaveAs).Show
        End Select
        If bytDocTargetTyp > 1 Then                           'Nicht Anzeigen?
            wdDocC.Close SaveChanges:=wdDoNotSaveChanges
            Set wdDocC = Nothing
            wdDocM.Close SaveChanges:=wdDoNotSaveChanges
            wdApp.Quit
          Else
            Set wdDocC = Nothing
            wdDocM.Close SaveChanges:=wdDoNotSaveChanges
            wdApp.Visible = True
        End If
    End If
    Set wdDocM = Nothing
    Set wdApp = Nothing
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
chris0709
Gast


Verfasst am:
15. Jan 2009, 10:31
Rufname:


AW: Serienbrief über Access aufrufen - AW: Serienbrief über Access aufrufen

Nach oben
       Version: Office 2003

Hi Willi Wipp,

vielen Dank für den Code!! So kann ich den Serienbrief öffnen Smile

ich verstehe nur nicht ganz wozu dieser Zielpfad dient:
Code:
    Const cstrZielPfad        As String = "C:\DeinZielPfad\
Jetzt muss ich es nur noch hinkriegen dass die Werte aus der Tabelle meiner Datenbank in den Serienbrief übernommen werden.

Kannst du mir vielleicht ein gutes Totorial empfehlen mit dem ich in sachen Access und VBA fit werde?

Gruß

Chris
Willi Wipp
Moderator


Verfasst am:
16. Jan 2009, 06:11
Rufname:
Wohnort: Raum Wiesbaden

Re: Serienbrief über Access aufrufen (II) - Re: Serienbrief über Access aufrufen (II)

Nach oben
       Version: Office 2003

Hi chris0709,

der Code sollte eigentlich den Serienbrief direkt erstellen und abhaengig vom Wert fuer bytDocTargetTyp
direkt Anzeigen, Drucken oder Speichern. Die Konstante cstrZielPfad ist der Zielpfad fuers Speichern!

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
chris0709
Gast


Verfasst am:
16. Jan 2009, 15:30
Rufname:

AW: Serienbrief über Access aufrufen - AW: Serienbrief über Access aufrufen

Nach oben
       Version: Office 2003

Hi Willi Wipp,

ok dann haben wir glaube ich aneinander vorbeigeredet. Ich habe bereits einen fertigen Serienbrief den ich mit meiner Datenbank in Word verbunden habe.
Ich bräuchte einen Button in einem Access Formular, der mir diesen Serienbrief öffnet und dann die Daten aus einer Tabelle der Access Datenbank in die entsprechenden Felder des Serienbriefes einfügt.

Den Serienbrief kann ich jetzt mit folgendem code öffnen:
Code:
Private Sub wrd_öffnen_Click()
    Dim oApp  As Object

    Set oApp = CreateObject("Word.Application")
    oApp.Visible = True
    oApp.Documents.Open FileName:="H:\Projekte\Lizenz DB\Lizenzvorlage.doc"
    Set oApp = Nothing
End Sub
Die Werte aus meiner Datenbanktabelle befinden sich nach dem Öffnen über den Access Button aber nicht mehr im Brief.

Wenn ich den Brief jedoch ganz normal über Word öffne sind die Daten aus der Access Tabelle enthalten.
Meine Frage ist jetzt, wie ich den Code des Buttons ergänzen muss, damit die Daten aus der Tabelle nach dem öffnen des Briefes über den Button auch im Brief enthalten sind?

ich hoffe du kannst mir helfen :/

Vielen Dank schonmal

Chris
Willi Wipp
Moderator


Verfasst am:
16. Jan 2009, 15:58
Rufname:
Wohnort: Raum Wiesbaden

Re: Serienbrief über Access aufrufen (III) - Re: Serienbrief über Access aufrufen (III)

Nach oben
       Version: Office 2003

Hi chris0709,

ich habe das Gefuehl Dir ist nicht ganz klar wie das mit dem Serienbrief laeuft!
Man hat ein Serienbrief-Hauptdokument mit den Feldern und dem Text udn eine Datenquelle.
Aus dem Haupdokument erstellt man dann den eigentlichen Serienbrief in einem Dokument,
oder man sendet ihn direkt an den Drucker!

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Martin Egerer
habe immer PC-Probleme


Verfasst am:
23. Okt 2009, 22:06
Rufname: habe immer PC-Probleme
Wohnort: Saarbrücken


AW: Serienbrief über Access aufrufen - AW: Serienbrief über Access aufrufen

Nach oben
       Version: Office 2003

Hallo,
dazu habe ich zwei Fragen.

a) Wie stelle ich es an? In der Datenbank möchte ich die Empfängerdaten und die Texte speichern und dann durch druck auf einen Button eine Routine starten, mit der ich zum einen den Serienbrief starten kann, mit dem ich aber auch gleich schon die Empfänger auswählen kann. Also: Ich erstelle ein Protokoll. Das gebe ich zum Korrekturlesen nur an eine Person weiter. Nach der Korrektur wird es dann an einen bestimmten Personenkreis verteilt. Da ist es dann übersichtlicher, wenn die Informationen in Access gespeichert sind, anstatt, dass ich in irgendeinem Ordner diese Dokumente sammle.

b) In meiner Datenbank habe ich mir Kennungen gemacht, ob ein Empfänger lieber Briefe, E-Mails, Faxe oder Briefe und E-Mails habe möchte. Wenn ich einen Serienbrief starte, muss ich immer umständlich in der Empfängerliste die einzelnen Kennungen rausfiltern und dann weiter vorgehen. Wie stelle ich es an, dass ich nur auf einen Knopf drücken muss und das Programm erkennt automatisch ob es jetzt drucken, mailen oder faxen muss? Kann man diese Informationen auch nach Word mit rüber nehmen?

Grüße vom Martin.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Berechnetes Feld im Serienbrief 2 Marlboro2 815 19. Feb 2011, 17:31
Nouba Berechnetes Feld im Serienbrief
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit Wert aus Formulareingabe aufrufen 1 AndreasKassel 386 17. Aug 2009, 21:50
astern Abfrage mit Wert aus Formulareingabe aufrufen
Keine neuen Beiträge Access Tabellen & Abfragen: Serienbrief aus Access Anrede 2 GastTanja 812 04. Sep 2008, 09:01
GastTanja Serienbrief aus Access Anrede
Keine neuen Beiträge Access Tabellen & Abfragen: Im Kombifeld eine andere Spalte aufrufen 4 ArtGee 280 01. Apr 2008, 21:26
ArtGee Im Kombifeld eine andere Spalte aufrufen
Keine neuen Beiträge Access Tabellen & Abfragen: Button druckt Serienbrief aus die 2. 1 dorian_fahrenheit 493 31. Jan 2007, 16:35
Willi Wipp Button druckt Serienbrief aus die 2.
Keine neuen Beiträge Access Tabellen & Abfragen: Prozedur aufrufen wenn Tabelle geschlossen wird 2 Lady_S 1208 10. Okt 2006, 15:34
Lady_S Prozedur aufrufen wenn Tabelle geschlossen wird
Keine neuen Beiträge Access Formulare: Serienbrief - Übergabe an Word 5 mikase 1223 23. Sep 2006, 12:06
lothi Serienbrief - Übergabe an Word
Keine neuen Beiträge Access Tabellen & Abfragen: Gefilterte Abfrage für Word Serienbrief 1 nuub 812 10. Aug 2006, 16:58
steffen0815 Gefilterte Abfrage für Word Serienbrief
Keine neuen Beiträge Access Formulare: Access 2003 - Aus Formular ext. Datei aufrufen (z.B. Excel) 1 thema 2725 23. Jun 2006, 16:53
m2xu Access 2003 - Aus Formular ext. Datei aufrufen (z.B. Excel)
Keine neuen Beiträge Access Formulare: Pfad aus Formular aufrufen 2 wka 589 19. Jan 2006, 21:04
wka Pfad aus Formular aufrufen
Keine neuen Beiträge Access Formulare: Aufrufen eines Worddokuments über Befehlschaltfläche 1 Amazonin 586 27. Sep 2005, 15:17
rita2008 Aufrufen eines Worddokuments über Befehlschaltfläche
Keine neuen Beiträge Access Formulare: Formular über Button in Symbolleiste mit Filter aufrufen... 7 BM 1188 08. Sep 2005, 10:27
cablit Formular über Button in Symbolleiste mit Filter aufrufen...
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editoren Forum