recordwijzigingen automatsich opslaan in txtfile of logfile maken

Status
Niet open voor verdere reacties.

JohanRVT

Gebruiker
Lid geworden
2 mrt 2011
Berichten
555
Beste forumgebruikers,

er werd in mijn instelling gevraagd om in een bestaande ms access database een automatisch systeem te maken dat bijhoudt wanneer, wat en door wie er iets wordt gewijzigd aan de inhoud van meerdere formuliervelden. Bv als een contract einddatum van een werknemer veranderd wordt in een backend DB zou de administrator in de frontend DB op een of andere manier een txt logfile moeten kunnen openen en onmiddellijk alle wijzigingen zien. Maw is er ergens een VBA code die we aan bv de after_update event kunnen hangen en deze info als het ware "print" naar een logfile.txt. Momenteel doe ik iets gelijkaardigs via een query die een bepaalde record van ��n tabel in de gaten houdt en dat wegschrijft naar een andere tabel maar ik zoek dus iets algemeners dat voor een grote groep records kan gebruikt worden.
 
Je kunt uiteraard een historie tabel maken, die je laat vullen met de door jouw gewenste gegevens. Via een Toevoegquery vul je die elke keer als er een mutatie heeft plaatsgevonden op een formulier. Op dat formulier moet je dan uiteraard wel de oude en nieuwe situatie kunnen afvangen, anders kun je niks opslaan.
Een logfile, zoals je dat aangeeft met logfile.txt kan uiteraard ook. Het maakt niet zoveel uit of je naar een tekstbestand schrijft, of naar een tabel.
 
ervaringen gevraagd

De twee denkpistes zijn inderdaad mogelijk al zijn er (denk ik) met een historietabel achteraf meer mogelijkheden op filteren van de juiste gegevens dan met een txtbestand. Misschien gaan er achteraf meedere mensen verschillende dingen samengevat nodig hebben? Het is een beetje moeilijk als we nog niet weten hoe ze de data willen aangeboden krijgen wat er juist moet gemaakt worden maar ik hoopte op enkele ervaringen hieromtrent of mensen die dit al 's eerder hebben gedaan op welke manier ze dat dan deden en tot welk resultaat ze kwamen.
 
Laatst bewerkt door een moderator:
Ik heb zelf een historietabel gebruikt voor een tabel met personeelmutaties. Dat werkte prima. Bij elke mutatie werd de oorspronkelijke waarde weggeschreven met de nieuwe, wanneer en door wie etc. Als iemand bijvoorbeeld drie velden muteerde, werden er drie records aangemaakt in de historietabel. Hierdoor was het ook heel simpel om een willekeurige aanpassing weer te herstellen. Ik kan daar wel een voorbeeldje van posten.
 
Dat zou heel leuk zijn Michel om een voorbeeld te zien hoe je dat aanpakt, kwestie van een leidraad te hebben die bewezen tot iets geleid heeft. En inderdaad is een undo functie ook altijd handig.
 
Ik heb een gestript voorbeeld van mijn produktie db, waar wel de historie tabel in zit. Het terughalen van een specifieke waarde zit hier overigens niet in, maar dat kan ik wel weer nabouwen. Dus dat komt nog...
 

Bijlagen

Michel, ik heb dit wekend uw database bekeken en het systeem van U lijkt sterk op het bestaande van het wachtlijstbeheer van onze instelling (zie gestripte anoniem gemaakte versie in bijlage waarvan ik (denk ik) alles wat niet werkt heb verborgen. Hierbij wordt er dus de prioriteitswijzigingen en zo meer bijgehouden in een tabel. Alle events worden eveneens gestart na het drukken van de opdrachtknoppen. Ik denk dat het voor de personeelsdatabae echter opportuun zou zijn dat er iets gemaakt wordt via VBA dat bij een soort van "voor bijwerken " event de data van een formulierveld tijdelijk wordt opgeslagen en bij een "na bijwerken" event die oorspronkelijke - en gewijzigde data wordt weggeschreven naar een historietabel samen met de datatum van wijziging, naa m van de wijziger, etc.... Best gewoon verborgen en dus zonder dat de gebruiker een knop moet drukken
 

Bijlagen

Laatst bewerkt:
Ik heb een gestript voorbeeld van mijn produktie db, waar wel de historie tabel in zit. Het terughalen van een specifieke waarde zit hier overigens niet in, maar dat kan ik wel weer nabouwen. Dus dat komt nog...

Hoi Michel, al succes/tijd gehad voor die DB?
 
Nog niet. Maar het is nu weer wat rustiger, dus ik zal er weer eens wat tijd insteken!
 
Wat dacht je zelf? :) Nee dus.... Maar het is denk ik wel een onderwerp dat ik meeneem in de cursus, want het komt wel regelmatig terug op het forum. Er is dus belangstelling voor!
 
Laten we de draad weer eens oppakken :D Welk formulier, en wat wil je bijhouden?
 
nieuwe database

Laten we de draad weer eens oppakken :D Welk formulier, en wat wil je bijhouden?

Heb even de huidge (gestripte) versie waar ik toe gekomen was bijgevoegd.
Bekijk bijlage TestDatabasehistoriek.part01.rar
Bekijk bijlage TestDatabasehistoriek.part02.rar
Bekijk bijlage TestDatabasehistoriek.part03.rar
Bekijk bijlage TestDatabasehistoriek.part04.rar
Bekijk bijlage TestDatabasehistoriek.part05.rar

Bedoeling is om de wijzigingen bij te houden uit het formulier "Personeelfiche" in de Tbl_historiek, heb al een aantal pogingen gedaan om bij het verlaten van een tekstvak automatisch te laten wegschrijven naar die tabel wat je gewijzigd hebt, wanneer en door wie. Momenteel gebruik ik bv als ik de naam van een personeelslid wijzig en het tekstvak verlaat met Shift+enter dat de wijziging wordt weggeschreven naar het veld updates aan de rechterzijde van het formulier (maar dat is uiteraard niet voldoende)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan