2009-07-28 7 views
1

Ich versuche, eine einfache Routine zu schreiben, um einen in einer Access 2007-Datenbank gespeicherten Anhang per E-Mail zu versenden. Aus irgendeinem Grund kann ich nicht den einfachsten Teil davon zum Funktionieren bringen.Zugriff auf Field2 in Access 2007

Ich erhalte eine Fehlermeldung „Benutzerdefinierte Typ nicht definiert“ in der folgenden Zeile zu sagen:

Dim attachmentField As DAO.Field2 

Jetzt bis zu diesem Punkt ich nicht zugegriffen habe jeden DAO-Objekte noch nicht, aber meine Vermutung war, dass ich nur benötigt, um die relevante Referenz hinzuzufügen. Die Sache ist, ich habe ein falsches Verständnis darüber, was diese Referenz ist. Ich habe "Microsoft DAO 3.6 Object Library" ausprobiert, was Sinn macht, aber ich bekomme immer noch die gleiche Fehlermeldung. Dann probierte ich 3.5 und dann JET und dann noch ein paar mehr, die weit weniger Sinn machten.

Hier ist die vollständige Auflistung, falls ich etwas anderes verpasst habe, das wirklich grundlegend ist. Ich weiß, dass es sehr viel Aufräumarbeiten braucht, aber ich würde es gerne als erstes arbeiten lassen.

Private Sub Command4_Click() 
    Dim appOutLook As Outlook.Application 
    Dim MailOutLook As Outlook.MailItem 
    Set appOutLook = CreateObject("Outlook.Application") 
    Set MailOutLook = appOutLook.CreateItem(olMailItem) 

    With MailOutLook 
    .To = Description.Value 
    .Subject = "Confirmation of " & ID.Value 

    'Error on the next line 
    Dim attachmentField As DAO.Field2 
    attachmentField = Recordset("Att") 
    attachmentField.SaveToFile "C:\Temp\" & Att.FileName 
    Attachments.Add "C:\Temp\" & Att.FileName, olByValue, 1, "Document" 

    '.DeleteAfterSubmit = True 
    .Send 
    End With 
End Sub 

Irgendwelche Ideen?

Antwort

4

Sie müssen einen Verweis auf DAO Version 12 - die Aufgabe der neuen FIELD2 unterstützt

Versuchen Sie, diese Referenz hinzugefügt - "Microsoft Office 12.0 Access-Datenbank-Engine"

-2

Ändern Sie die Zeile zu

Dim attachmentField As DAO.Field 

Auch woher kommt das Recordset aus? Wo wird es mit Aufzeichnungen gefüllt?

+0

Nope. Ich suche nach Field2 - das ist, was Sie brauchen, um Anhangsfelder zu manipulieren. –