Office: (Office 2010) Serienbrief

Helfe beim Thema Serienbrief in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen! Ich habe eine schon sehr alte Adressdatenbank , in der ich jeder Person eine Kennung zuordnen kann. Über diese Kennung kann ich dann... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von obbu, 12. Mai 2020.

  1. Serienbrief


    Hallo zusammen!
    Ich habe eine schon sehr alte Adressdatenbank , in der ich jeder Person eine
    Kennung zuordnen kann. Über diese Kennung kann ich dann eine Tabelle für Serienbriefe
    füllen, die dann in einem eigenständigen Formular dargestellt wird.
    In diesem Formular kann ich Änderungen an den Daten vornehmen, ohne das die Ursprungsdaten
    Verändert werden. Aus diesem ‚Serienbrief Formulal‘ habe ich dann 3 Möglichkeiten:
    1. SBuEM = 0 Alle Adressen drucken
    2. SBuEM = 1 Alle Adressen ohne E-Mail-Adresse drucken und die E-Mail-Adressen der anderen in
    einer Variabelen zusammenfassen und in einem Formularfeld darstellen
    3. SBuEM = 2 Nur die E-Mail-Adressen zusammenfassen und im Formularfeld darstellen.

    Die Routine dazu findet ihr unten
    Jetzt das Problem:
    Ich stelle die Anzahl der Datensätze fest und durchlaufe ein For Next Schleife in der ich die
    Die Adressen dann in einen Serienbrief einsetze bzw die E-Mail-Adressen in eine
    Variabele schreibe
    Dann wird der Serienbrief ausgegeben und es wird mit dem Kommande DoCmd.GoToRecord , , acNext
    der nächste Datensatz geladen und mit Next s in der Schleife weiterverfahren.
    Sollen nur die E-Mail-Adressen gesammelt werden SBuEM = 2, ist alles OK.
    Bei den anderen beiden möglichkeiten SBuEM = 0, und SBuEM = 1 werden nur die ersten beiden
    Adressen ausgegeben und die zweite bleibt dann bei allen weiteren Durchläufen stehen und wird
    gedruckt oder in der Variabelen gesammelt.
    Setzte ich vor oder nach dem Befehl DoCmd.GoToRecord , , acNext eine msgbox ein, (siehe unten, teilweise auskommentiert)
    muss ich diese bei jedem Durchlauf bestätigen, die Daten werden aber alle richtig abgearbeitet.
    Woher kommt der Fehler wenn die msgbox auskommentiert wird?
    Beim debuggen ist mir noch aufgefallen, das nach dem Befehl DoCmd.GoToRecord , , acNext
    die Routine Form_Current des Hauptformulars mit allen Einträgen durchlaufen wird.
    Warum das?
    Ich hoffe jemand hat eine Idee.

    Code:
    :)
     
  2. Ohne da durch zublicken, aber das ganze hat ja mit Serienbrief m.M. rein garnichts zu tun.
     
  3. Hallo uwek
    Wiso soll das mit Serienbrief nichts zu tun haben?
    Das mit den E-Mail-Adressen sicher nicht. alles andere dreht sich schon um Serienbriefe.
    obbu
     
  4. Serienbrief

    Von einem Serienbrief würde man sprechen, wenn das über Word angestoßen werden würde, und Word sich die Daten z.b. aus einer Access-DB per Abfrage holt.

    Beim Datensatzwechsel wird das Ereignis "BeimAnzeigen" ausgelöst.
    Der code ist etwas in die Jahre gekommen und sehr unübersichtlich.

    Anstelle das Formularrecordset zu durchlaufen, würde ich ein eigenes Recordset eröffnen mit der entsprechenden Datenquelle.
    Die Gesamtzahl der Datensätze zu ermitteln ist unnötig. Eine Schleife mit
    Do until... loop
    tut das ganze ohne, dass die Anzahl bekannt ist.

    warum du den Dateipfad aufdröselst kann ich nicht nachvollziehen ein Word.DocumentOpen mit dem vollständigen Pfad öffnet dir das Dokument.



    Einfacher wäre das an einer TestDB selbst zu verfolgen, was du genau meinst.
     
    fredfred, 14. Mai 2020
    #4
  5. In einem sehr weiten Bogen, so wie Pluto um die Sonne.

    Bei einem Serienbrief in üblichem Verständnis übernimmt die Serienbriefvorlage die Angaben aus einer bereitgestellten Tabelle (Wordtabelle, Texttabelle, Exceltabelle, Accesstabelle/-abfrage) im Stück. Das Ergebnis ist nach wie vor ein einzelnes Dokument, dann mit entsprechend vielen Seiten.

    Code:
    Wenn man den eigenen Kommentar versteht: Hier werden in Schleife Einzeldokumente erzeugt.
     
    ebs17, 14. Mai 2020
    #5
  6. ich habe mal versucht deinen code zu überarbeiten:

    Code:
     
    fredfred, 14. Mai 2020
    #6
  7. Hallo Fredfred

    Ob es sich bei meinem Versuch um Serienbriefe im strengen Sinne handelt oder nicht ist mir ziemlich egal. Es entsteht dabein eine Serie von Briefen gleichen Inhalts mit unterschiedlichen Adresseinträgen. Von wo die ausgelöst werden ist für mich zweitrangig.

    Dennoch herzlichen Dank für Deine Überarbeitung meines Cods.

    Leider laufe ich schon bei den beiden ersten DIM Anweisungen auf den Fehler:
    Benutzerdefinierter Typ nicht definiert!
    Ich vermute das da noch Dinge eingebunden werden müssen. Ich weiß nur nicht was und wo und konnte auch in den Hilfen oder Büchern nichts finden.
    In den Hilfen zu Access 2010 ist der Word WordApp nicht zu finden.

    Zu dem etwas unübersichtlichen Code nur soviel.
    Die Datenbank ist schon etwa 10 Jahre alt und ich bin mit ihr langsam etwas in Access hineingekommen. Ich will aber mit über 70 nicht noch mal alles neu anfangen. Dafür reicht meine Zeit dann doch wohl nicht mehr und es gibt auch noch andere schöne Dinge im Leben außer Access.*wink.gif*
     
  8. Serienbrief

    Das liegt am early-binding.
    Du kannst deine DIM's wieder verwenden und dein late-binding einsetzen oder du bindest den Mircrosoft-Word Verweis ein
    Reiter Extras- > Verweise -in der Liste dann suchen.
     
    fredfred, 14. Mai 2020
    #8
  9. Hallo FredFred
    Ich habe den Word Verweis eingebunden.
    Erhalte jetzt aber die Meldung :
    Typen unverträglich
    ohne das mir gezeigt wird wo der Fehler ausgelöst wird.
     
  10. Geh auf Debuggen, normalerweise springt der in die fehlerhafte Zeile.
     
    fredfred, 14. Mai 2020
    #10
  11. Hallo
    Bin schon im Debugging gewesen.
    der Fehler Typen unverträglich tritt in der Zeile

    Set wdDoc = WordApp.Documents.Add(Doc_Lagerort) 'Doc_Lagerort bei einer Vorlage bietet sich Documents.Add an

    auf. Wobei in Doc_Lagerort der richtige Pfad und die richtige Datei steht und die Datei eine *.dotx ist alse eine Vorlage.

    Die einzusetzenden Adresstexte (Anrede, Name1,....) sind alle vorhanden
    Gruß obbu
     
  12. Hallo FredFred

    wdDoc ist als Word.Document dimensioniert, ihm wird aber eine Application mit einem "angehängten" Word Dokument zugewiesen.

    Ich habe die Zeile auch mal mit

    WdDoc = (Doc_Lagerort) und auch mit WdDoc = [Doc_Lagerort]

    probiert weil man ja auch unter Windows ein Dokument aufrufen kann und dasSystem aktiviert automatisch das dazugehörige Programm.

    Leider immer mit der gleichen Fehlermeldung.

    Gruß obbU
     
  13. Serienbrief

    Hi,
    zeige deinen kompletten Code, wie du ihn jetzt stehen hast.
    Oder eine kleine Beispiel-Db.
    s
    Habe das mal kurz getestet, ich erhalte die Fehlermeldung wenn Doc_lagerort keinen Inhalt hat. Also mal prüfen, was überhaupt in doc_lagerort drin steht, während der Laufzeit.
    Code:
    Das macht keinen Sinn.
     
    fredfred, 17. Mai 2020
    #13
  14. Hallo obbu,

    Wie kommst dur darauf?
    Du kannst nicht einfach eine eigene Syntax erfinden: Documents.Add() gibt ein Document zurück, welches mit Set einer Variablen vom Datentyp Document zuzuweisen ist.
    Wenn du also eine Datentyp-Konflikt hast, wird es mit ziemlicher Sicherheit an der Variablen Doc_Lagerort liegen. Leider hast du nirgendwo beschrieben, wo dieser Wert herkommt und wie er definiert ist.

    Ulrich
     
    knobbi38, 17. Mai 2020
    #14
  15. deleted
     
    fredfred, 17. Mai 2020
    #15
Thema:

Serienbrief

Die Seite wird geladen...
  1. Serienbrief - Similar Threads - Serienbrief

  2. Dateien vorab auf Serienbrief überprüfen

    in Microsoft Word Hilfe
    Dateien vorab auf Serienbrief überprüfen: Hallo, ich habe eine größere Menge an u.a. Word- Dateien zu verschieben. Ich habe diese Dateien nicht erstellt. Kann ich im Vorfeld überprüfen, ob es sich um Dateien mit Serienbrieffunktion...
  3. Serienbrief Seriendruckfeld Farbe ändern

    in Microsoft Word Hilfe
    Serienbrief Seriendruckfeld Farbe ändern: Hallo, ich habe in Excel Daten gesammelt, diese möchte ich nun in einen Serienbrief ausgeben. Das ist mir soweit bekannt. Meine Frage kann man die Übergabe auch die Formatierung der Schrift...
  4. Für ein Excel Dokument Seriendruck benutzen.

    in Microsoft Excel Hilfe
    Für ein Excel Dokument Seriendruck benutzen.: Hallo Leute, auf der Arbeit braucht es täglich 40 Kopien von einem Excel Dokument, Varianten im Datum, der Adresse und zwei oder drei anderen Feldern. Ist ein sehr hübsches Dokument, das nach...
  5. Serienbrief aus Exceltabelle erstellen

    in Microsoft Word Hilfe
    Serienbrief aus Exceltabelle erstellen: Hallo, ich habe eine ziemlich bescheidene Exceltabelle als Datengrundlage und soll daraus einen Serienbrief erstellen. Die Tabelle sieht folgendermaßen aus: [ATTACH] und soll in so einem...
  6. Serienbrief mit verschiedenen Kopfbogen

    in Microsoft Word Hilfe
    Serienbrief mit verschiedenen Kopfbogen: Hallo zusammen, ich habe mal eine Frage: Ich würde gerne einen Serienbrief mit verschiedenen Kopfbogen erstellen. Hier mal ein Beispiel: Firma A verwaltet verschiedene andere Firmen (C, D und E)...
  7. T-Shirt-Bestellungen Abfrage für Serienbrief -

    in Microsoft Access Hilfe
    T-Shirt-Bestellungen Abfrage für Serienbrief -: Hallo, ich habe für unseren Sportverein über Microsoft Forms eine Abfrage erstellt, mit der unsere Mitglieder sich T-Shirts, Pullis und Hosen bestellen können. Die Bestellung habe ich als...
  8. Serien-E-Mail in Word über anderes Outlook-Konto senden

    in Microsoft Outlook Hilfe
    Serien-E-Mail in Word über anderes Outlook-Konto senden: Hallo, ich nutze Outlook 2019 lokal, verbunden mit Office 365. In Outlook habe ich ein Hauptkonto, das noch über Exchange läuft und ein Zweitkonto, das über IMAP läuft. Nun möchte ich eine...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden