Gegevens tabellen en query's behouden per jaar

Status
Niet open voor verdere reacties.

daansichien

Gebruiker
Lid geworden
5 feb 2010
Berichten
11
Ik zit met een probleem om gegevens in uw database behouden terwijl op basis van dezelfde tabellen het jaar daarachter moet verder werken.

Concreet:

Op het begin van het jaar zijn alle kolommen leeg en gedurende het kalenderjaar worden er zaken ingevoerd maar het probleem gaat zich voordoen op het einde van het jaar aangezien ik die gegevens van het afgelopen jaar (vb: 2009) moet kunnen behouden en op dezelfde moment al nieuwe gegevens in die tabellen met zelfde structuur moet kunnen ingeven.

Al die gegevens in de tabellen worden ingegeven via bepaalde query's.

Kan mij hier iemand verder helpen?
 
simpelste optie de querry aan te passen door de systeem tijd van de computer te halen, vervolgens de tabbelen leeg kopieren van 2009 en vervangen door 2010

je hebt dan wel dubbele tabbelen ,maar het zorgt er wel voor dat de gegevens uit tabbelen per jaar uniek blijven.

het nadeel van deze methode is veel de zelfde tabbelen in een database en aanpassen van de select query
 
Kan je het wat duidelijker uitleggen.
wat ik begrijp is dat je je dbstructuur wilt behouden met de naamgevingen van de tabellen en dat dit per jaar wordt bewaard. zodat als het 1 januari 2010 is de gebruikers doorgaan met een lege tabel waar gegevens inkomen van 2010 zodat er geen gegevens van 2010 in het tabel van 2009 ingevoerd worden??
 
Als ik mijn voorbeeld van 2009 behoud komt er op het neer dat ik gedurende het jaar 2009 allerlei informatie ingegeven heb. Op 1 januari 2010 zou ik van start willen gaan met dezelfde tabellen, query's maar dan volledig leeggemaakt. De gegevens van 2009 wil ik niet overschrijven!!!

Ik heb al zitten denken om elk jaar een nieuwe database te maken met dezelfde tabellen en query en ze zo leeg te maken.
 
Ja dat is een optie. je krijgt dan per jaar een database.
ik weet niet hoeveel query's je hebt in je applicatie maar je moet er wel rekening mee houden dat je de query's moet aanpassen.

wat je zou kunnen doen is gebruik maken van de Truncate functie in SQL.
Als je veel tabellen hebt in je huidige db en je doet truncates dan krijg je elke keer het dubbele erbij dus dat is wel een nadeel.

Mocht je een .Net applicatie hebben dan wel oplossing voor optie 1.
Je kan dan gebruik maken van DateTime.Now.Year;

Byee VRC
 
Kan je het wat duidelijker uitleggen.
wat ik begrijp is dat je je dbstructuur wilt behouden met de naamgevingen van de tabellen en dat dit per jaar wordt bewaard. zodat als het 1 januari 2010 is de gebruikers doorgaan met een lege tabel waar gegevens inkomen van 2010 zodat er geen gegevens van 2010 in het tabel van 2009 ingevoerd worden??

je getrokken conclusie is goed. Wanneer het 1-jan-2010 is worden alle gegevens in de zelfde database structuur om gezet. Dus Betaling2009 word betaling2010. Het nadeel is dat je bij selecteer functies dien aan te passen. De query blijven bijna allemaal het zelfde alleen dat je tabel naam gecombineerd is.
De meeste kozen optie is: De gebruiker te laten kiezen wel jaartal hij/zij wil in zien.
 
Ik snap eerlijk gezegd niet waarom je de gegevens uit de tabel zou willen overzetten naar andere tabellen, al dan niet op jaarbasis, tenzij het om dermate grote getallen records gaat, dat je boven de 2 gig aan data vreest uit te komen. Maar goed, wat ik zelf zo doen (en dus ook doe) is (een) Historie tabel(len) maken waar ik met toevoegqueries de oude data naar toe kopieer, waarna ik de oude gegevens verwijder. Eventueel kun je de Historietabellen in een andere db zetten, die je via Koppelingen verbindt met de produktiedatabase.
Zou allemaal niet zo moeilijk hoeven te zijn...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan