Automatisch boetesysteem in Access

Status
Niet open voor verdere reacties.

luuk1234

Gebruiker
Lid geworden
17 apr 2011
Berichten
16
Hallo,

Ik ben bezig met een database voor school, het gaat over de uitleen van camera's.
Het is allemaal bijna af, alleen zou ik er graag nog 1 ding bij willen.
Als een camera te laat wordt ingeleverd dan moet wordt er een boete gegeven. Het lijkt mij een handig en leuk idee om ervoor te zorgen dat Access dit zelf doet. Dit zou dus kunnen door bijvoorbeeld de Datum_terug af te trekken van Datum_Uitleen en dan de uitkomst keer 50 cent (Dit is de boete)

Echter ben ik niet bekend met dit soort dingen, en zou ik niet weten hoe t moet. Als het goed is moet ik de code neerzetten in het vakje "Validation rule" als ik in Design view zit, klopt dit of moet het ergens anders?

Alvast bedankt!

Luuk

P.S:

Het wordt misschien iets duidelijker als ik de volgende afbeelding laat zien:

databaseforum.png


http://img546.imageshack.us/i/databaseforum.png/
 
Laatst bewerkt:
Als het goed is moet ik de code neerzetten in het vakje "Validation rule" als ik in Design view zit
Een Boeteregeling zoals jij 'm wilt heeft niks met validatie te maken. Dat gebruik je alleen om de juistheid van de gegevens te controleren. Wat je wel kunt doen, is een query maken, die de berekening uitvoert. En dan nog wil je de boete terugzien, dus daar heb je een formulier voor nodig. Wat ik wel eens voor iemand heb gemaakt, is een popup formulier dat tevoorschijn komt bij records waarvan de betaaltermijn is overschreden. Je bladert dan dus door de personen, en zodra er een achterstand is, komt het formulier tevoorschijn. Of, kan uiteraard ook, een formulier dat bij het laden van de database controlereert of er camera's (of andere uitleenartikelen natuurlijk) zijn die te laat zijn, en die in een overzichtformulier opent. Dit formulier verschijnt uiteraard niet als er niks te laat is.
 
Ok, de optie met dat bladeren door de formulieren en een pop up bij een boete klinkt goed, alleen zou dat ook automatisch kunnen ? dat er wordt gekeken of de inlever datum en de terugbreng datum gelijk zijn en zo niet dan...? En hoe doe je het pop up systeem?

Ik kan em anders ook uploaden dan kan je kijken als je wilt
 
Dat laatste lijkt mij het handigst, want dan kunnen we veel gerichter tips geven. En het eerste: ja, de bedoeling is wel om dat automatisch te doen. Overigens heeft dat wel weer enige beperkingen, want hoewel je wel continue een check kunt laten doen op een formulier, dat kost uiteraard wel enige rekencapaciteit. Access moet dan namelijk elke zoveel seconden kijken of er iets is veranderd. En dat maakt je db er niet sneller op. Handiger lijkt mij dat je de actie eenmalig bij het openen uitvoert, zodat je kunt zien op basis van datums hoe het ermee staat.
 
Ok, ik upload de database wel even dan zou echt top zijn als je er naar zou kunnen kijken

Edit: "File is too large" om hem te uploaden, en als ik een e-mail verstuur kan ik nergens een bijlage erbij zetten.
Is er een andere manier warop ik hem kan versturen?
 
Laatst bewerkt:
Gebruik eerst de functie <Comprimeren en herstellen> om de db te verkleinen. Je kunt met WinRar de db splitsen in brokken van 100kb. Meestal krijg je de db dan wel klein genoeg (3 of 4 bestanden) om ze te uploaden.
Zitten er afbeeldingen (logo's etc) in, gooi die er dan eerst uit, want die vreten ook ruimte.
 
Als ik een rar bestand upload mag die niet groter zijn als 100 kb, als ik em split kom ik rond de 300 files. Als ik de plaatjes eruit haal gaat ie van 4mb naar 3,9mb.
Als je me een e-mail geeft waar ik hem heen kan mailen zou dat wel handig zijn
 
Ik den dat je niet de juiste settings gebruikt in Winrar. Stel Winrar in volgens bijgaand plaatje... Dan zou je drie bestanden over moeten houden.
 

Bijlagen

  • Winrar Settings.jpg
    Winrar Settings.jpg
    37,9 KB · Weergaven: 62
* Sorry voor de triple post maar hij deed moeilijk met het aantal bestanden per bericht, hoop dat je er wat aan hebt
 
't Is inderdaad een stevige jongen! Ik zal er vanavond een blik op werpen, want op het werk gebruiken we nog 2003.
 
Ok, zou helemaal top zijn ^^ ik hou t forum in de gaten
Mocht je verder nog aanmerkingen hebben, dan hoor ik t wel
 
Ik mis nog een uitleentermijn; als je iets leent op dag A, en tijdstip A, hoe weet je dan of een camera op tijd is teruggebracht of niet? Ik zie in de tabel Uitlening wel een Datum_Terug, en Lesuur_Terug, maar die zou je moeten gebruiken om vast te leggen wanneer het artikel terug komt. In combinatie met het veld Uitleentermijn weet je dan of het op tijd is teruggebracht of niet.
 
Ja dat is wel een goed idee, maar denk je dat dat automatisch gedaan kan worden door datum/lesuur terug - datum/lesuur uitgeleend te doen? of kan dat niet?
 
Het is niet alleen een goed idee, het is noodzakelijk ;) In tegenstelling tot het veld Boete, dat je kunt verwijderen. Want de boete is een berekenbaar veld, dat afgeleid kan worden van de andere gegevens die je opslaat. En één van de db regels is, dat je geen gegevens opslaat die herleid kunnen worden uit de andere gegevens... Dus de eerste stap lijkt mij, het aanpassen van de tabel Uitleningen!
 
Ok, dus wat ik zou moeten doen is het veld boete vervangen door uitleentermijn, om zo de boete te berekenen?

2 vraagjes dan:

1. Kan de uitleen termijn automatische berekend worden of moet dit handmatig?
2. Hoe maak ik, als ik het veld uitleentermijn heb gemaakt het boetesysteem (eventueel dmv een popup als er lang de leerling met boete gescrold wordt)
 
De uitleentermijn wordt niet automatisch berekend, want ik neem aan dat de lener dat bepaalt... Tenminste, als ik iets huur of leen, geef ik aan hoe lang ik iets wil hebben. En jij ook, neem ik aan :) Dus de termijn wordt ingetypt op basis van wat de lener wil. Daarmee weet je automatisch wanneer het artikel terug moet zijn, want dat is: Datum(tijd) van lenen + uitleentermijn. En dat laat je dus zien in je query. Op basis van de uitgerekende datum+tijd dat het artikel weet je ook wanneer het te laat is: wanneer die datumtijd combinatie kleiner is dan huidige datum+tijd. Dus op dat moment gaat de boeteclausule in. Simpel eigenlijk, niet?

De query kun je als basis voor een formulier gebruiken, als je in de query filtert op de records die voldoen aan de boeteclausule. En daarmee heb je de popup: als er records zijn, laat je het formulier zien.
 
Het klinkt inderdaad vrij simpel... maar ik zou echt geen idee hebben hoe ik die query schrijf.
Je bedoelt dus zegmaar dat ik nog een tabel/formulier maak en vervolgens de query voor de boete doorverwijs naar dat formulier :S?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan