Nie mam 2007 roku, aby przetestować ten program, ale this article wyjaśnia, jak uzyskać dostęp do załączników za pomocą LoadFromFile i SaveToFile.
Sprawdź, czy możesz uzyskać dostęp do licznika w ten sposób (z DAO) ... oczywiście używaj nazw swoich tabel.
' Instantiate the parent recordset.
Set rsEmployees = db.OpenRecordset("YourTableName")
''' Code would go here to move to the desired record
' Activate edit mode.
rsEmployees.Edit
' Instantiate the child recordset.
Set rsPictures = rsEmployees.Fields("Pictures").Value
Debug.Print rsPictures.RecordCount'' <- SEE IF THIS GIVES YOU THE COUNT
EDIT: Przepraszam za opóźnienie w tej sprawie; Nie miałem okazji na to spojrzeć.
Myślę, że to powinno być rozwiązanie dla Ciebie. Przetestowałem go w Access 2010 i działa.
CZĘŚĆ 1 - Utwórz ogólną funkcję, aby uzyskać liczbę załączników dla dowolnego pola w dowolnej tabeli. Umieść ten kod w module.
Function AttachmentCount(TableName As String, Field As String, WhereClause As String)
Dim rsRecords As DAO.Recordset, rsAttach As DAO.Recordset
AttachmentCount = 0
Set rsRecords = CurrentDb.OpenRecordset("SELECT * FROM [" & TableName & "] WHERE " & WhereClause, dbOpenDynaset)
If rsRecords.EOF Then Exit Function
Set rsAttach = rsRecords.Fields(Field).Value
If rsAttach.EOF Then Exit Function
rsAttach.MoveLast
rsAttach.MoveFirst
AttachmentCount = rsAttach.RecordCount
End Function
CZĘŚĆ 2 - Użyj funkcji niestandardowej w zapytaniu Access.
SELECT Table1.ID, AttachmentCount("Table1","MyAttach","[ID]=" & [ID]) AS [Num Attach]
FROM Table1;
Parametr 1 jest tabela gdzie załączniki są, parametr 2 jest pole w tabeli, gdzie są załączniki, a ostatni parametr jest WHERE na stole, aby wybrać odpowiedni zapis.
Mam nadzieję, że to pomoże!
UPDATE
zapytań SQL ten pracował również dla mnie:
SELECT t.ID, Count(t.MyAttach.FileName) AS [Num Attachments]
FROM Table1 AS t
GROUP BY t.ID;
Osprzęt jak w obiektach OLE? Jeśli otworzysz tabelę bezpośrednio, co widzisz w tym polu? Ponadto, jeśli przejdziesz do trybu projektowania jest typ pola "OLE Object"? – transistor1
Pole wyświetla się za pomocą spinacza do papieru i liczby określającej liczbę załączników w tym polu. Nie wierzę, że byłby to obiekt OLE, ale mógłbym się mylić.Powiedział, że nie mogę uzyskać dostępu do numeru, który jest obok spinacza do papieru za pośrednictwem mojego zapytania, co jest tym, czego potrzebuję. –