Har ved mange anledninger kunne tenkt meg å overvåke mapper eller filer for endringer i Access.
I forbindelse med at vi ønsket ekstern editor for tekstbokser i Access så satte jeg meg ned og googlet til jeg fant løsningen i:
The access webs: File Change Notification Component
Som i følge nettsiden lar deg:
"... allows you to set up watches on one or more folders (optionally including the entire subfolder tree) so that any changes made to the folders result in a notification being sent back to you. The notification event depends on the kind of watch you've set up on a folder (for example, notify on size changes and creates) and contains information about the specific file that has been changed." |
I vår Access applikasjon ønsket vi som sagt og redigere tekst i en tekstboks i ekstern editor. Løsningen ble å lagre innholdet i tekstboksen til en tekstfil i en mappe som jeg overvåker.
Når jeg så åpner ekstern editor(PSPad) med tekstfilen og lagrer så vil jeg kunne fange opp det i Access og hente inn teksten fra den endrede filen og oppdatere tekstboksen.
Ett par ting som er verdt og nevne:
1. Legg til dll'en i VBA editoren Tools - References
2. Koden som starter overvåkningen kan ikke legges på ett skjemas onOpen, fordi eksekveringen vil ikke gå videre etter Call clsFCN.StartWatch. Løsningen var og legge koden på skjemaets timer.
Resultatet ble denne lille demo databasen:
FilMonitorering.zip
VBA koden er i hovedsak knabbet fra VB eksemplet som fulgte med komponenten.
For å teste så må du først laste ned FileChangeNotificationComponent og registrere dll-en som følger med.
Pakk så ut filene i FilMonitorering.zip i en egen mappe, start opp FilMonitorering.mdb, rediger fila RedigerMeg.txt, lagre og se hva som skjer i Access:-)
mvh
Ove B-) |