Actualmente no tengo 2007 para probar esto, pero this article explica cómo acceder a los archivos adjuntos con LoadFromFile y SaveToFile.
Vea si puede acceder al conteo como tal (con DAO) ... obviamente use los nombres de su tabla.
' 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
EDITAR: Lo siento por el retraso en esta; No he tenido la oportunidad de mirarlo.
Creo que esto debería ser una solución para usted. Lo probé en Access 2010 y funciona.
PARTE 1 - Crea una función genérica para obtener el recuento de archivos adjuntos para cualquier campo en cualquier tabla. Coloque este código dentro de un módulo.
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
PARTE 2 - Utilice la función personalizada en su consulta de Access.
SELECT Table1.ID, AttachmentCount("Table1","MyAttach","[ID]=" & [ID]) AS [Num Attach]
FROM Table1;
Parámetro 1 es la mesa donde los archivos adjuntos son, parámetro 2 es el campo de la tabla, donde los archivos adjuntos son, y el último parámetro es una cláusula WHERE para su tabla para seleccionar el registro correcto.
Espero que esto ayude!
ACTUALIZACIÓN
consulta SQL Esto también trabajó para mí:
SELECT t.ID, Count(t.MyAttach.FileName) AS [Num Attachments]
FROM Table1 AS t
GROUP BY t.ID;
adjuntos como en objetos OLE? Si abre la tabla directamente, ¿qué ve en ese campo? Además, si entra en modo de diseño, ¿el tipo de campo es "Objeto OLE"? – transistor1
El campo se muestra con un clip y un número que representa el número de archivos adjuntos en ese campo. No creo que esto se considere un objeto OLE, pero podría estar equivocado.Dicho esto, no puedo acceder al número que está al lado del clip a través de mi consulta, que es lo que necesito. –