Es muy fácil hacerlo usando la función Dir(). Te voy a indicar dos de las muchas formas que se me ocurren.
Como punto de partida, pongamos que tienes una tabla con un campo con la ruta, nombre y extensión del archivo (como entiendo que tienes), así:
La primera forma que se me ocurre, y la más fácil es crear en un módulo independiente esta función:
Public Function fncExisteArchivo(elArchivo As String) As Boolean
If Dir(elArchivo) = "" Then
fncExisteArchivo = False
Else
fncExisteArchivo = True
End If
End Function
y luego usarla en una consulta:
En la consulta de la imagen, he puesto 0 como criterio para que la consulta devuelva solo los archivos que faltan en tu PC.
Segunda opción: si añades a tu tabla un campo de tipo Sí/No, llamado, por ejemplo, Existe, puedes poner en un formulario un botón (cmdComprobar, por ejemplo) con este código asociado:
Private Sub cmdComprobar_Click()
'TArchivos lo cambias por el nomobre de tu tabla
'Existe lo cambias por el nombre de tu campo Si/NO
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("TArchivos")
If rst.RecordCount = 0 Then Exit Sub
rst.MoveFirst
Do Until rst.EOF
rst.Edit
If Dir(rst("Archivo")) = "" Then
rst("Existe") = False
Else
rst("Existe") = True
End If
rst.Update
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
End Sub
Al pulsar el botón, revisará y actualizará todos los registros de la tabla, marcando o desmarcando el nuevo campo.
Con cualquiera de estas dos opciones, ya puedes mostrar los resultados en dónde quieras (un formulario, un cuadro de lista, un informe...).
Un saludo.
bit.ly/NkSvAcademy / bit.ly/ForoNkSv