Jump to content
  • 0

Automatisch koppelen van gegevens


Organeduc

Question

Ik heb een studentenbestand, met allerlei gegevens, waaronder de klas (klassecode) waarin de student zit.

 

Bij iedere klassecode horen een aantal vaste gegevens.

Voorbeeld: iemand in klas A2GBT1 heeft zwemles op do en vrij-middag, gedurende het laatste semester van leerjaar 1.

Iemand van klas A3MBT2 heeft zwemtraining op ma- di- wo- en do-morgen, gedurende het tweede semester van schooljaar 2.

 

Al die klassevariabelen zijn bekend en staan in 1 tabel. De Id daarin kan dus de klassenaam zijn, want daaraan zijn de variabelen gekoppeld.

 

Wanneer de studenten worden ingedeeld, komen ze in een bepaalde klas te zitten. Die lijst krijg ik aangeleverd, inclusief dus de klas waarin de student zit. Het gaat om grote aantallen studenten, waarvoor ik liever niet per student zelf eerst moet gaan aangeven in welke klas ze zitten, om zodoende de erbijbehorende variabelen te koppelen. Dan immers zou ik met een invoerlijst of iets dergelijks kunnen werken.

 

Die lijst importeer ik, maar hoe zorg ik er u voor, dat wanneer die lijst geïmporteerd is, incl. de klassenaam/code, automatisch de variabelen die bij die klassenaam horen ook gekoppeld zijn aan de klassenamen uit dat ingevoerde bestand?

En als er een vreemde klassecode (niet bestaand, of nieuw bijv) wordt ingevoerd, dan mogen er natuurlijk geen bestaande variabelen bij passen, voordat de variabelen eerst zijn aangemaakt.

Link to comment

6 answers to this question

Recommended Posts

  • 0
(...) maar hoe zorg ik er u voor, dat wanneer die lijst geïmporteerd is, incl. de klassenaam/code, automatisch de variabelen die bij die klassenaam horen ook gekoppeld zijn aan de klassenamen uit dat ingevoerde bestand?

Heb ik dit lange verhaal nu helemaal misbegrepen? Wat je wil, dat werkt toch als een doodgewone lookup?

Link to comment
  • 0
="AvD"

Heb ik dit lange verhaal nu helemaal misbegrepen? Wat je wil, dat werkt toch als een doodgewone lookup?

 

Was ook mijn eerste gedacht...

...en in de lookup opbouw zal er ergens een knoppeke staan waar je kunt bepalen wat het geheel moet doen indien...

 

...er een vreemde klassecode (niet bestaand, of nieuw bijv) wordt ingevoerd, dan mogen er natuurlijk geen bestaande variabelen bij passen, voordat de variabelen eerst zijn aangemaakt.
...

 

...met een importscriptverlenging kan je dan sorteren, zodat deze gevalletjes netjes bij elkaar komen te staan en kun de variabelen aanmaken...alles in één adem....

Link to comment
  • 0

Perfect, Jean.

Ik denk dat de vraag hiermee helemaal is opgelost.

Peter heeft hier heel lang geleden al eens geschreven dat we veel te weinig werken met de geweldige mogelijkheden van het lookup-venster. Aan de rechterzijde staat daar wat er zoal kan getriggerd worden als er géén matching is.

Link to comment
  • 0

FM 7 is niet mijn sterkste kant, dus hier een pseudo uitleg (basis 5).

 

Al die klassevariabelen zijn bekend en staan in 1 tabel. De Id daarin kan dus de klassenaam zijn, want daaraan zijn de variabelen gekoppeld.

 

Dat heb je al. Stel dat de veldnaam klasvar is.

 

Maak van dat veld een loopup die steunt op de relatie klasID.

Klasvar gaat dus kijken of de relatie klasID geldig is en de overeenkomstige waarde in klasvar zetten. (zie AVD Tip)

Bij de opties voor lookup definitie heb je ook de keuze 'If no exact match, then...' met een radiobutton 'use' (dat's het 'knoppeke') en een veld waar je een waarde kunt ingeven, bv: 'derisnix'.

 

En wanneer kun je zo'n importscriptverlenging gebruiken?

 

Stel je importeert, voor alle waarden waar de relatie klasID geen waarde vindt zal 'derisnix' in het veld variabel staan.

 

Wanneer je nu een script maakt; "Zoek derisnix", die de waarde zoekt 'derisnix', met de nodige stappen wat te doen indien er geen records gevonden worden, 1 record, of meerdere records, ga je (stel dat er wél records gevonden worden) een lijstje krijgen met de records met 'derisnix' in klasvar. Dit zijn nu de 'vreemde', 'niet bestaande' enz. waarvoor een variabele dient aangemaakt te worden.

 

Deze script roep je op vanuit je importscript. (perform script). Dat is de 'importscriptverlenging'....

 

Je kunt nu een ander scriptje maken dat ervoor zorgt dat die lijst aangemaakt wordt in de variabelen tabel, en als dat gedaan is kan een ander scriptje een re-lookup uitvoeren op het veld klasvar, en alle variabelen staan bij de overeenkomstige klasID.

 

Bepaalde scripts kun je manueel uitvoeren, of je kunt het geheel volledig automatisch laten lopen, door het ene script het andere te laten aanroepen, gebaseerd op voorwaarden, en op die manier volledig door het import gebeuren met de daaraan verbonden voorwaarden (go to layout/table, zoek/vind, maak records aan, re-lookup, enz..) stappen.

 

Misschien gekunsteld uitgelegd, maar in grote lijnen is het dat....

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...