Si scusate forse sono stato troppo generico.
Sono consapevole che l'allegato all'interno del DB è molto pesante ma si tratta di gestire pochi record con scadenza 15 gg quindi potrebbe essere accettabile.
Su una tabella ho creato 5 campi di cui uno di tipo "ALLEGATO" .
Tramite un pulsante, nella maschera di gestione, faccio l'accesso ad Outlook nella cartella posta in arrivo, verificando all' interno del campo oggetto se è presente una stringa, e in caso affermativo mi carico in maschera e in tabella i campi che mi interessano , compreso l'allegato che non riesco a gestire non so quale sia il metodo o la clasee da utilizzare per fargli caricare il file
("l'allegato me lo salvo già sul disco ")
Private Sub Allegato_Click()
Dim Stringa As String
Dim Outapp
Dim myOlFolders
Dim MyFolder
Dim MyMail
Dim myAttachments As Outlook.Attachment
Dim MioPath As String
MioPath = "C:\temp"
Set Outapp = CreateObject("Outlook.application")
Set myOlFolders = Outapp.Session.Folders
Set MyFolder = Outapp.Session.Folders("miaposta").Folders("miacartella")
'il Ciclo qui sotto passa in rassegna tutti gli elementi che sono nella cartella che ho selezionato
For Each MyMail In MyFolder.items
' verifico che l'elemento sia una mail
If Mid(MyMail.Subject, 1, 3) = "XXX" Then
If TypeName(MyMail) = "MailItem" Then
Me.Icona = MyMail.EntryID
Me.Oggetto = MyMail.Subject
Me.Cc = MyMail.Cc
Me.Contenuti = MyMail.Body
Me.Importanza = MyMail.Importance
Me.Da = MyMail.Sender.Name
For Each myAttachments In MyMail.Attachments
StAttachments = StAttachments & myAttachments.DisplayName & vbCrLf
Next
x = 1
For x = 1 To MyMail.Attachments.Count
MyMail.Attachments.Item(x).SaveAsFile "C:\temp\att\" & MyMail.Attachments.Item(x).DisplayName
Me.Allegato = ("c:\temp\att\" & myAttachments.Item(x).DisplayName)
Next
End If
End If
Next
End Sub