Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Revilo am März 06, 2026, 12:57:10

Titel: via Access 2-5 Anhänge aus Ordner per mail versenden
Beitrag von: Revilo am März 06, 2026, 12:57:10
hallo und Guten Tag,
ich habe eine Access DB, die per VBA eine e-mail mit Anhängen versenden kann.
Access sucht die Anhänge anhand einer Kontonummer - das funktioniert ebenfalls.
Allerdings variiert, die Anzahl der Anhänge zwischen 2-5 Anhängen.
Aktuell kann ich nur "fehlerfrei" emails mit 5 Anhängen versenden.
Stand jetzt, habe ich im VBA Code Attachment.Add 5 x hinterlegt
Attachment.Add Anhang 1
Attachment.Add Anhang 2 etc....
Bei fünf Anhängen toll, wenn es nur 4 sind macht Access die mail auf,  hängt alles dran und versendet,
allerdings kommt dann eine Fehlermeldung, da er ja Anhang 5 nicht findet.

Meine Frage:
Gibt es einen Loop, den man nutzen kann oder einen anderen Kniff, um dies zu verschlanken bzw. fehlerfrei zu gestalten ? probiere es nun seit drei Tagen, aber ich komm nicht zum Ziel

Sorry mein Code sieht für "Profis" wohl eher schlimm aus - Sorry ;-)





Private Sub Befehl17_Click()


    ' Sub SendEmailWithAttachment()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strSubject As String
    Dim lastMonthDate As Date
    Dim strBody As String
    Dim SuchNumer As String
    Dim OrdnerPfad As String
    Dim Dateiname As String
    Dim Dateiname1 As String
    Dim Dateiname2 As String
    Dim GefundeneDatei As String
    Dim GefundeneDatei1 As String
    Dim GefundeneDatei2 As String
    Dim GefundeneDatei3 As String
    Dim GefundeneDatei4 As String
   
   
   
    ' --- KONFIGURATION ---
    suchNummer = Me![Konto-Nr-Kontakte]
    OrdnerPfad = "C:\Versand\" ' Pfad zum Ordner (mit \ am Ende)
    ' ---------------------
   
    ' Prüfen, ob der Pfad existiert
    If Dir(OrdnerPfad, vbDirectory) = "" Then
        MsgBox "Ordner nicht gefunden!", vbCritical
        Exit Sub
    End If
   
    ' Datei suchen (sucht Dateien, die SuchNummer enthalten)
    Dateiname = Dir(OrdnerPfad & "*" & suchNummer & "*_PLE*.*")
    Dateiname1 = Dir(OrdnerPfad & "Letter*" & suchNummer & "*.*")
    Dateiname2 = Dir(OrdnerPfad & "*" & suchNummer & "*_SK*.*")
    Dateiname3 = Dir(OrdnerPfad & "*" & suchNummer & "*_PLE*.xlsx")
    Dateiname4 = Dir(OrdnerPfad & "*" & suchNummer & "*_SK*.xlsx")
            
    If Dateiname = "" Then
        MsgBox "Keine Datei mit der Nummer " & suchNummer & " gefunden.", vbExclamation
        Exit Sub
    End If
       
    GefundeneDatei = OrdnerPfad & Dateiname
    GefundeneDatei1 = OrdnerPfad & Dateiname1
    GefundeneDatei2 = OrdnerPfad & Dateiname2
    GefundeneDatei3 = OrdnerPfad & Dateiname3
    GefundeneDatei4 = OrdnerPfad & Dateiname4
   

' Berechnet das Datum vor einem Monat
lastMonthDate = DateAdd("m", -1, Date)

With CreateObject("Outlook.Application").CreateItem(0)

.Display


.To = Me.email.Value
.subject = "Beispieltext " & Format(lastMonthDate, "mm-yyyy")

strBody = "<p>Sehr geehrte Damen und Herren,<br><br>" & vbCrLf & vbCrLf


.Attachments.Add GefundeneDatei
.Attachments.Add GefundeneDatei1
.Attachments.Add GefundeneDatei2
.Attachments.Add GefundeneDatei3
.Attachments.Add GefundeneDatei4

.HTMLBody = strBody & .HTMLBody


.Display

End With


Titel: Re: via Access 2-5 Anhänge aus Ordner per mail versenden
Beitrag von: Knobbi38 am März 06, 2026, 13:03:01
Hallo Revilo,

wenn du Crossposting machst, solltest du die beiden Foren auch gegenseitig verlinken.

Knobbi38
Titel: Re: via Access 2-5 Anhänge aus Ordner per mail versenden
Beitrag von: Beaker s.a. am März 06, 2026, 13:44:24
Hallo Revilo,
ZitatGibt es einen Loop, den man nutzen kann oder einen anderen Kniff
Schreibe die "gefundenen" Dateien in ein Array. Das kannst du dann in einer
Schleife abarbeiten.

gruss ekkehard
Titel: Re: via Access 2-5 Anhänge aus Ordner per mail versenden
Beitrag von: Revilo am März 06, 2026, 14:06:52
Hallo,

Ergänzend möchte ich noch hinzufügen, dass die DB nur Name, Konto-Nr und emailadresse enthält.

Aber danke für die Antwort, ich werde mich mit dem Thema Array dann mal beschäftigen
Titel: Re: via Access 2-5 Anhänge aus Ordner per mail versenden
Beitrag von: Knobbi38 am März 06, 2026, 15:35:17
Warum man Crossposting kennzeichnen sollte:
https://web.archive.org/web/20170619092620/http://www.excel-ist-sexy.de/crossposting/ (https://web.archive.org/web/20170619092620/http://www.excel-ist-sexy.de/crossposting/)
Titel: Re: via Access 2-5 Anhänge aus Ordner per mail versenden
Beitrag von: Revilo am März 06, 2026, 19:36:26
Hallo, das Thema konnte mit Hilfe des Eintrags - Serien Emails mit variablen Anhängen in ACCESS im Entwurf erstellen - aus diesem Forum gelöst

Ich möchte mich für mein Crossposting entschuldigen - scheint ja zu stören, wenn man in mehreren Foren um Hilfe fragt,
aber bei der Suche um Hilfe bzw. Unterstützung sucht man halt mehrere Wege- Danke trotzdem

Grüsse

Revilo