Serienbrief mit leere Satz abbrechen

Habe eine Access Tabelle Einwohner_Tab, aus der werden jeden Monat Einwohner mit einem Word-Serienbrief zum Geburtstag gratuliert.(ab 80 - 103Jahre)
Das klappt auch wunderbar.
Aus der Einwohner_tab erstelle ich per Parameter-Abfrage eine Geburtstag_Tab.
Ich werde nach dem Monat gefragt und gebe z.B. 1 ein, dann werden alle die im Januar Geburtstag haben in die Gerburtstag_tab eingelesen.
Diese Daten gebe ich als GEB_TAB.TXT aus in das Verzeichnis C:\TEMP und starte dann den Serienbrief mit Word der die Daten aus C:\TEMP\GEB_TAB.TXT holt.

Das geschiet mit einem Makro.

ÖffnenAbfrage ( erstellt Geburtstag_tab
TransferText ( C:\TEMP\GEB_Tab.txt
AusführenCode ( BRIEF90() startet Serienbrief

Nun meine Frage?
Wenn keine Daten ausgewählt werden weil in diesem Monat niemand geburtstag hat (z.B. 103 jährige),wie kann ich das Makro zum Abruch bringen bevor der Serienbrief gestartet wird.

im voraus herzlichen Dank.

Also zunächst mal weg von den unbrauchbaren Makros - damit schafft man NIEMALS und NEVER sinnvolle Funktionalität!!

Im folgenden mußt Du Deiner Umgebung entsprechende Anpassungen (Tabellennamen, Feldnamen etc.) durchführen, in der VBA-Umgebung auf „Microsoft-DAO“ verweisen (Menü Extras, Verweise).
Ist keine High-Tec-Lösung, das wär’ mir hier zu aufwendig (Ergenis einer Abfrage direkt an ein Seriendruck-Dokument übergeben etc.). Der Code generiert jedenfalls Deine temporäre Tabelle und exportiert diese ins Textformat ins angegebene Verzeichnis - und bricht ab, wenn es kein Ergebnis gibt. Wie Du allerdings feststellen willst, wer da bereits das Zeitliche gesegnet hat, bleibt nach wie vor Dir überlassen.

Mach eine Schaltfläche namens btn_Export mit folg. Code als Click-Ereigniseigenschaft:

Private Sub btn_Export_Click()
Dim RS As Recordset, SQL As String, Monat As Byte

On Error Resume Next
Monat = InputBox(„Monatszahl eingeben“, „“)
If Monat = 0 Or Monat > 12 Then
Exit Sub
Else
SQL = „SELECT Einwohner.GebDatum From Einwohner WHERE (((Format([Gebdatum],‚m‘))=“ & Monat & „));“

Set RS = CurrentDb.OpenRecordset(SQL)
If RS.RecordCount = 0 Then
MsgBox „Keine Daten vorhanden“, vbOKOnly, „Nichts zu tun“
Exit Sub
Else
SQL = "SELECT Einwohner.Name INTO ExportTabelle "
SQL = SQL & „From Einwohner WHERE (((Format([GebDatum],‚m‘))=“ & Monat & „));“
On Error Resume Next
DoCmd.DeleteObject acTable, „ExportTabelle“
CurrentDb.Execute (SQL)
DoCmd.TransferText acExportDelim, „“, „ExportTabelle“, „c:\temp\geburtstage.txt“, False, „“
'Alternativ gleich Code für Seriendruck
End If
End If
End Sub

Gruß
Stephan

http://www.it-werkstatt.com/helpline.html