[Access] Hoe query opzetten?

Pagina: 1
Acties:

  • Millennyum
  • Registratie: Januari 2001
  • Laatst online: 04-05-2023
Ik ben bezig met een database om bij te houden in welke fase van de besluitvormingsprocedure onze vergaderstukken zich bevinden.
De opzet van de database is als volgt:

Er worden "Onderwerpen" gedefinieerd (tabel Onderwerpen), waar verschillende vergaderstukken bij kunnen horen (tabel Stukken). Ieder stuk heeft ook weer een of meerdere "routings" (welke vergaderingen heeft het stuk al doorlopen, wat was het besluit, wat is de vervolgactie, etc: tabel 'routing').

Voorbeeld van de onderlinge samenhang:
OnderwerpenStukkenRouting
1. Pauzeregeling1. Voorstel nieuwe Pauzeregeling1. Stafvergadering Doel = adviesBesluit = negatief advies Vervolgactie = stuk herzien
2. Herzien voorstel nieuwe Pauzeregeling1. Stafvergadering Doel = adviesBesluit = positief advies Vervolgactie = naar managementoverleg
2. ManagementoverlegDoel = besluitvormingBesluit = accoord Vervolgactie = implementatie

In bovenstaande voorbeeld is dus het eerste stuk gekoppeld aan één routingsregel in de tabel Routing en heeft het tweede stuk twee routingsregels waaraan hij gekoppeld is.
Ik hoop dat dit begrijpelijk is :)

Nu komt het probleem: ik wil overzichten uit kunnen draaien van alle stukken die:
- zich in de implementatiefase bevinden
- zich in de besluitvormingsfase bevinden (dus die nog niet geimplementeerd zijn)
Om de stukken te selecteren die zich in de implementatiefase bevinden, kan ik gewoon een query maken die zoekt naar stukken waarbij in de routing-tabel staat dat ze als vervolgactie 'implementatie' hebben.
Echter, als ik een overzicht wil maken van stukken in de besluitvormingsfase (dus waarbij vervolgactie <> "implementatie"), ontstaat het probleem: aangezien er meerdere routings bij één stuk kunnen horen, worden bij zo'n query ook stukken geselecteerd die wel als vervolgactie 'implementatie' hebben. In bovenstaande voorbeeld zou namelijk ook het tweede stuk worden geselecteerd, omdat de eerste routingregel een vervolgactie heeft die niet 'implementatie' is.

Ik moet dus een manier vinden waarbij ik:
- een overzicht maak van alle momenteel actieve stukken
- een selectie maak van alle stukken in implementatiefase
- vervolgens deze selectie aftrek van het totaal aantal stukken

Nu heb ik twee vragen:
- is het mogelijk om queries van elkaar af te trekken, en zo ja: hoe doe ik dat?
- nog belangrijker: is dit wel de goede methode, of hebben jullie betere manieren om zo'n overzicht te genereren? Ik ben namelijk maar een beginner wat betreft databases maken. Een van mijn andere ideeen was bv. om een code te schrijven die alle stukken naloopt en het StukID verwijdert uit een array wanneer er een veld met 'implementatie' wordt gevonden, maar mijn kennis van VB is te beperkt om dit te doen.

Ik hoop dat ik er enigszins in ben geslaagd om de situatie uit te leggen... :X

[ Voor 6% gewijzigd door Millennyum op 07-02-2005 14:14 ]