Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

9.9.8 Löschen von Dateien in Attachment-Feldern

9.9.9 Ersetzen eines Attachments

Fehlt nur noch die Möglichkeit, ein bestehendes Attachment durch ein anderes zu überschreiben: Dazu setzen Sie eine Routine wie die folgende ein, die den Namen der zu überschreibenden und der neuen Datei sowie die ID des betroffenen Datensatzes als Parameter erwartet. Die Routine sucht zunächst den betroffenen Datensatz der Tabelle tblDateien heraus, referenziert dann das Attachment-Feld Datei als Recordset2-Objekt, sucht das Attachment mit dem angegebenen Namen und ersetzt dieses dann, indem es das alte Attachment löscht und ein neues hinzufügt.

Public Sub AttachmentErsetzen(strNeueDatei As String, _
    strAlteDatei As String, lngDateiID As Long)

    Dim db As DAO.Database
    Dim rst As DAO.Recordset2

    Dim rstAttachments As DAO.Recordset2
    Dim fld As DAO.Field2
    
    Set db = CurrentDb
    Set rst = db.OpenRecordset("SELECT * FROM tblDateien " _
        & "WHERE DateiID = " & lngDateiID, dbOpenDynaset)
    
    rst.Edit
    
    Set rstAttachments = rst.Fields("Datei").Value
    rstAttachments.FindFirst "Filename = '" & strAlteDatei & "'"
    If Not rstAttachments.NoMatch Then
        rstAttachments.Delete
        
        rstAttachments.AddNew
        
        Set fld = rstAttachments.Fields("FileData")
        fld.LoadFromFile strNeueDatei
        rstAttachments.Update
    End If
    
    rst.Update
    
    Set rstAttachments = Nothing
    Set rst = Nothing
    Set db = Nothing

End Sub

Listing 9.52: Ersetzen eines Attachments per VBA

Nächster Abschnitt:

9.9.10 Umgang mit mehrwertigen Feldern

© 2006-2008 André Minhorst Alle Rechte vorbehalten.