automatisch records toevoegen

Status
Niet open voor verdere reacties.

arnoderuig

Gebruiker
Lid geworden
8 sep 2000
Berichten
577
Ik ben een programma aan het maken waarmee kan worden gecontroleerd of bepaalde periodieke werkzaamheden zijn gebeurd. Ik zoek nu een manier om een tabel Planning automatisch te vullen met gegevens aan de hand van de volgende tabellen en formulieren.

Ik heb een tabel Werkzaamheid (index is WerkzaamheidID via autonummering) waarin wat gegevens over de werkzaamheid zijn beschreven. Onder andere staat daar een code in voor de periodiciteit (bijvoorbeeld w2 = tweewekelijks; m3 = 3 maandelijks; j = jaarlijks).

Daarnaast heb ik een tabel Planning (index is PlanningID via autonummering) waarin:
a. verwezen wordt naar WerkzaamheidID
b. een planningsdatum is opgenomen.

Verder heb ik een formulier waarin een werkzaamheid kan worden gekozen en een startdatum en een einddatum. Via een macro wil ik nu dat aan de hand van dit formulier de tabel Planning wordt gevuld met records van de te plannen werkzaamheden tussen de startdatum en de einddatum. Daarbij moet rekening worden gehouden met de periodiciteit die in de tabel Werkzaamheid is opgenomen.

Gesteld dus dat de periodiciteit is w2 (tweewekelijks) en de startdatum is 9 februari 2007 en de einddatum is 9 mei 2007 dan dient dus voor alle 2-wekelijkse data (9.2 - 23.2 - 9.3 - 23.3 - 6.4 enzovoorts) een record te worden geschreven. Zou de periodiciteit m1 (maandelijks) zijn dan dienen records te worden geschreven voor 9.2, 9.3, 9.4 en 9.5

Hoe krijg ik dit voor elkaar?
 
hiervoor zul je met VBA aan de slag moeten. Heb je daar ervaring mee?
 
Helaas heb ik daar niet echt ervaring mee. Ik heb wel al oplossingen, op andere vraagstukken die ik had, met VBA moeten oplossen. Als iemand dan zo aardig is er een aanzet voor te geven kom ik er daarna over het algemeen wel zelf uit. Dit en ook andere fora helpen me daarbij.
 
De code zal er ongeveer zo uit moeten zien:

dim db as database
dim strSQL as string

set db = currrentdb()
Select case periodiciteit
case 'w2'
do while <hier moet je je voorwaarde invullen>
strSQL = "INSERT veld1, veld2, etc INTO tblJouwTabel VALUES(waarde1, waarde2)"
db.execute strSQL, dbfailonerror
loop
case 'm3'
do while <hier moet je je voorwaarde invullen>
strSQL = "INSERT veld1, veld2, etc INTO tblJouwTabel VALUES(waarde1, waarde2)"
db.execute strSQL, dbfailonerror
loop
case 'jaarlijks'
do while <hier moet je je voorwaarde invullen>
strSQL = "INSERT veld1, veld2, etc INTO tblJouwTabel VALUES(waarde1, waarde2)"
db.execute strSQL, dbfailonerror
loop
end select
set db = nothing

Zonder gedetailleerde informatie over je toepassing en wat hij moet doen is het niet mogelijk de exacte code te geven, maar hier moet je verder mee kunnen komen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan