Bonjour et bienvenu dans le monde merveilleux de Access.
Pour la mise à jour automatique ... autant que je sache c'est impossible.
Ce qui est possible c'est de faire un balyage régulier des tes répertoires et de recupérer les infos.
La question que je me pose est : qu'est-ce que Access va apporter de plus qu'un bon outil de recherche de fichiers comme Agent RANDSAK (gratuit).
Sinon je le ferai en 2 passes :
- Pour tous les fichiers déjà reférencés dans la base, vérifier qu'ils sont toujours là.
- Pour tous les disques
Pour tous les répertoires du disque
Pour tous les fichiers dans le répertoire, ajouter le fichier si il n'existe pas
Recommencer l'exporation pour tous les sous-repertoires du répertoire (inventaire recursif)
Aussi avant de te lancer tu voudras peut-être faire quelques tutoriaux pour débutants.
Pour ta question sur le sens de l'instruction :
Set rst = CurrentDb.OpenRecordset(TABLE_FICHIERS, dbOpenDynaset)
Set est une instruction qui dit à VBA qu'il va devoir assigner une valeur à un objet.
C'est un mot reservé de VBA.
Un objet peut être a peu prêt n'importe quoi (une table, une requete, un formulaire, un rapport, un control dans un rapport, ...).
dans ce cas ton objet s'appele rst et est de type recordset.
Un type defini a quel ensemble appartient ton objet. (Par exemple en mathétique 12.25 est un nombre de type réel).
Tous les objets du même type partagent un ensemble de caractéristiques (appelées "propriété" généralement).
Un recordset est un ensemble d'enregistrement (ex : tous les enrgistrements d'une table, d'une requête, d'un formulaire).
CurrentDb est un objet Base de données (DAO.Database) qui représente la base courrante. C'est un objet défini par Access.
OpenRecordset est un méthode de l'objet database. Une méthode est un action que l'objet peut réaliser. Par exemple, un objet "Voiture" pourrait avoir une méthode "Demarrer".
TABLE_FICHIERS est probablement une constante figurative qui contient le nom de la table résultat.
Une constante est une valeur defini qui ne change jamais. Ex : const PI as double = 3.1416 defini une constante nommée PI qui vaut 3.1416.
Une consante sert habituellement a rendre le code plus lisible. perimetreCercle=2 * 3.1416 * rayonCercle est moins lisible que perimetreCercle= 2 * PI * rayonCercle.
dbOpenDynaset est un parametre qui defini le type d'opération autorisées sur l'objet recordset. Dans ce cas précis, on peut tout faire sur le recordset. On peut y faire des recherches, se déplacer en avant et en arrières, lire les données qu'il contient, les modifier ou les supprimer.
Partager