Uitgerekend aantal Records toevoegen aan een tabel

Status
Niet open voor verdere reacties.

RadboudAKF

Gebruiker
Lid geworden
3 nov 2010
Berichten
219
Goedenmiddag,

Ik heb een tabel waarin wordt bijgehouden hoeveel formulieren (voor het bestellen van een bijzonder soort geneesmiddel) een afdeling in ons ziekenhuis heeft gekregen.
Men mag er voor een bepaald middel bijvoorbeeld maar 3 hebben. (Max=3) Bij ieder doosje zit een formulier...levert men het formulier weer in (waarop moet worden bijgehouden wanneer een patiënt het middel heeft gekregen) dan krijgt men een nieuw doosje met een leeg formulier. (dit doen we gelukkig niet met alle geneesmiddelen, maar wel met deze bijzondere soort)

Iedere afdeling heeft z'n eigen MAX (bv. 5 lijsten = 5 doosjes van middel A) Iedere keer als men een vol formulier weer inlevert bij de Apotheek dan moet er een nieuw formulier worden gegenereerd door de Access dB.

Als er een formulier retour komt (of 2 formulieren) dan rekent een query uit: [Max] - [aantal ingeleverde formulieren] = bv. 3 !! Afdeling krijgt 3 nieuwe doosjes in combinatie met een (genummerd) formulier. In de tabel heb ik een veld met Autonummering (tevens formuliernummer tbv rapport)

Als de uitkomst dan bv. 3 is, dan wil ik 3 records (met kenmerk afdeling in combinatie met artikelnummer] bv. veld afdeling: 003345 + veld artikelnummer bv. 54541 toevoegen.

Ik weet niet hoe ik dit kan bereiken met een toevoegquery ... ik denk dat ik met VBA met het getal 3 'aan de slag moet'.

Ik hoop dat ik me een beetje goed uitdruk ... want ik hoop dat iemand me hiermee kan helpen. Ik weet werkelijk niet hoe ik dit moet doen...

Groet,

Jan (RadboudAKF)
 
Je houdt dus in een tabel bij hoe vaak dat medicijn wordt uitgegeven door elk exemplaar (doosje) apart te registreren? In jouw voorbeeld moet je dan 3 doosjes uitgeven, en dan moeten er 3 records worden aangemaakt. Met de bekende gegevens zoals uitgiftedatum, afdeling en medicijncode. Een beetje toevoegquery gebruikt ofwel een tabel/query als bron, maar daar is hier dus geen sprake van. Uiteraard kun je een query maken waarin je alleen de waarden invult. Of uit je formulier haalt, waar je artikelcode en afdeling op staan, neem ik maar aan. Daar hangt dan verder geen tabel onder, en je krijgt dan ook één toegevoegd record. Zo'n query kun je uiteraard opslaan en onder een knop hangen, en dan 3 keer op de knop drukken als het om 3 uitgiftes gaat. Is in beginsel de simpelste oplossing.

Aan de andere kant kun je een loop maken die je net zo vaak laat lopen als uit je berekening wordt afgeleid. Die waarde zal dan ook wel op je formulier staan. Anders kun je dat met een variabele oplossen waar je m.b.v. een Inputbox het aantal exemplaren opvraagt. Vervolgens voegt de procedure dan het juiste aantal records toe door dat aantal keren de lus uit te voeren. Daarbij kun je er dan voor kiezen om de complete SQL via het formulier in VBA te genereren, of de eerder genoemde query te laten uitvoeren volgens het aantal dat je wilt hebben. In deze variant druk je dus maar één keer op de knop.

Bedoel je zoiets?
 
Dank voor bovenstaande suggesties.

Ik denk dat ik in eerste instantie de zaak wat eenvoudiger ga maken. Eén formulier komt terug ... er gaat dan een nieuw formulier uit. Dat is één record toevoegen aan de tabel (en automatisch printen) op het moment dat er een formulier wordt ingeleverd. Ik ga eerst een zien of ik dat voor elkaar krijg ipv berekeningen te maken om records aan een tabel toe te voegen. Ik bouw eerst even verder op Octafish's suggestie om "3 keer op de knop te drukken".

Jan (Radboudakf)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan