Access 2010 records archiveren

Status
Niet open voor verdere reacties.

elvanlim

Gebruiker
Lid geworden
12 feb 2004
Berichten
99
Hallo,

Hoe kun je records archiveren? zodat je later weer terug kunt halen. Op internet heb ik al een en ander naar gezocht, maar wordt niet echt wijzer van. Wie kan mij hierover adviseren?

Groet, Elvanlim
 
Tegenvraag: wat versta je onder archiveren?
 
Hoi,

ik wil een aantal records archiveren, dus eigenlijk verplaatsen naar een archieftabel en later weer kunnen ophalen. De database bevat aantal medewerkers die niet meer indienst zijn, maar regelmatig komt het voor dat betreffende medewerker opnieuw indienst komt. Bedoeling is dat zijn/haar record weer geactiveerd moet worden.
 
Dan is er weinig reden om daarvoor een archief tabel te maken, al kan dat overigens wel. Tenzij het om duizenden (denk eerder aan tienduizenden) records gaat, en de snelheid/grootte van de tabel een probleem gaat vormen, kun je veel beter een Ja/Nee veld (bijvoorbeeld een veld met de naam [Uit dienst]) toevoegen dat je aanvinkt als iemand uit dienst gaat. Een datumveld met de naam [Datum uit dienst] is overigens ook al voldoende, en waarschijnlijk heb je dat al. In het geval van een vinkje hoef je alleen maar te filteren op personen waarvan het vinkje uit staat om de mensen te zien die in dienst zijn, en filter je op aangevinkt, dan zie je de vertrokken medewerkers. Voor de uitdienstdatum zul je waarschijnlijk dan wel een extra tabel hebben waarin de verschillende contractperiodes van een persoon worden vastgelegd, en dan hoef je alleen maar naar de laatste Uit Dienst datum te kijken. Is die leeg, dan is de medewerker in dienst, is die ingevuld maar > huidige datum, dan gaat de medewerker op die datum uit dienst, en is die ingevuld en < huidige datum, dan is de medewerker uit dienst.
Kortom: zoek eerst de simpele oplossing, zeker als je die toch al voorhanden hebt :)
 
Michel, hartelijk dank voor je Tip en uitleg! Hier kan ik wat mee!

Vr. gr. Elvanlim
 
Mocht je écht een archiefsysteem willen hebben: ik heb er een jaar of wat geleden een gemaakt voor het werk, waarvan je het principe wel kunt gebruiken. Het bestaat er uit dat je een (of meer) record(s) uit een tabel selecteert, en de selectie wordt dan naar een andere tabel (desnoods in een externe database) gekopieerd en verwijderd uit de hoofdtabel. Via het formulier kun je de gearchiveerde records dan weer inzien of eventueel terugzetten. Het is dus wel te maken. Maar ik werk zelf veel liever met een archiefveldje, want dan hou je de data altijd beschikbaar. En zeker als mensen vaak in- en uit dienst zijn, dan is dat veel makkelijker. Je moet namelijk te allen tijde zien te voorkomen dat je een gebruiker dubbel opvoert, iets dat altijd mogelijk is als het record niet meer in de tabel zit, en het opzoeken dus een stuk lastiger is. Bovendien: als een gebruikersnaam 'vrij' is omdat het bijbehorende record in een andere tabel staat, en je geeft de gebruikersnaam aan iemand anders, dan heb je een probleem... En dan heb ik het nog niet eens over de problemen die je krijgt met je relaties, want die kunnen ook gelijk de bietenbak op!
 
Ok bedankt voor je toelichting. Ik zou inderdaad erg op prijs stellen als je zo'n voorbeeld database voor me hebt. Misschien kan ik er wat mee.

Gr. Elvanlim
 
Ik zal 'm van de week even geschikt maken voor algemeen gebruik.
 
Hoi Michel,

Je had over een archiefveld: 'Maar ik werk zelf veel liever met een archiefveldje, want dan hou je de data altijd beschikbaar. En zeker als mensen vaak in- en uit dienst zijn, dan is dat veel makkelijker." Kun je wat meer toelichten, hoe is de werkwijze?

Groet, Elvanlim
 
Ik ben (vermoedde je waarschijnlijk al) nog niet toegekomen aan het voorbeeldje. Maar wat ik bedoel is heel simpel: een Ja/Nee veld toevoegen aan de tabel (met de naam Actief of In dienst of zoiets) dat je aanvinkt bij medewerkers die in dienst zijn, en uitvindt als ze zijn vertrokken. Je mag het principe natuurlijk ook omkeren. Of er een keuzelijst van maken als je meer opties wilt hebben. In ieder geval kun je op basis van dat veld bepalen of iemand in dienst is of niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan