Ga naar inhoud
  • 0

Automatisch koppelen van gegevens


Organeduc

Vraag

Geplaatst:

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.

6 antwoorden op deze vraag

Aanbevolen berichten

  • 0
Geplaatst:
(...) 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?

  • 0
Geplaatst:
="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....

  • 0
Geplaatst:

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.

  • 0
Geplaatst:

Enkele dingen zijn me niet helemaal duidelijk:

Wat is dan het verschil tussen een veld met een look-up berekening en een veld met een opzoekdef.?

Jean, zou je eens een voorbeeldje van

ergens een knoppeke staan
kunnen geven?

En wanneer kun je zo'n

importscriptverlenging
gebruiken?
  • 0
Geplaatst:

Een lookup is geen berekening. Meer info vind je hier: http://www.avd-ci.be/tip197.htm.

Dan heb je het nog - denk ik toch - over een AutoEnter by Calculation. Dat is heel wat anders. Opletten ook: zo'n AutoEnter wordt uitgevoerd zodra één enkel van de calculation elements beschikbaar is (en dat kan dus behoorlijk te vroeg zijn!).

  • 0
Geplaatst:

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....

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...