donderdag 26 november 2009

Keuzelijst met meerdere velden in ooBase

Momenteel ben ik bezig een database-applicatie aan het ontwerpen, die kan gebruikt worden voor bv. een kinderdagverblijf.

Daarin zitten een aantal tabellen, die gerelateerd zijn met elkaar, nl:

- Tabel 'tblOuders'
- Tabel 'tblKinderen'

De Tabel 'tblOuders' is gelinkt met 'tblKinderen', dus een één-op-veel relatie, één ouder heeft één of meerdere kinderen.

Ik heb een formulier ontworpen 'Beheer Ouders', deze bevatten alle contactgegevens vd ouders.
Dan heb ik nog een formulier 'Beheer Kinderen', deze bevat alle gegevens vd kinderen, en een ook een gerelateerde keuzelijst 'Ouders'.

In deze keuzelijst selecteer je gewoon welke 'ouder' bij welk 'kind' hoort.

Bij het aanmaken van een keuzelijst via de assistent kun je maar één weergave-veld selecteren, wat voor problemen kan zorgen in de praktijk.
Vb. Stel dat je als weergave-veld de 'naam' ve ouder hebt geselecteerd, op zich geen probleem. Als je ouders hebt met dezelfde naam, dan heb je wél een probleem, dan komen dezelfde namen enkele keren voor in de keuzelijst, maar welke kind heeft nu welke ouder?.

Hoe kan je dit oplossen?

We zullen ervoor zorgen dat de naam én de voornaam, dus twee velden ve tabel in de keuzelijst voorkomen.

1. Selekteer het betreffende besturingselement (keuzelijst) en ga naar het eigenschappenvenster.

2. Klik op het tabblad gegevens en selekteer bij 'type lijstinhoud' SQL, en bij 'lijstinhoud' klik je op het knopje met de drie puntjes.



3. Nu kun je je tabellen/queries 'manipuleren'. We voegen nu de betreffende tabel toe, in mijn geval 'tblOuders'.

4. Dubbelklik op 'ID' uit deze tabel

5. Na maken we een nieuw (niet-bestaand) veld aan en typen volgende gegevens thv veld:

"Naam" || ' ' || "Voornaam"



6. Om het proper te houden geven we ook nog een 'alias' aan dit veld, vb. NaamVoornaamOuders, en selekteren bij volgorde 'oplopend'.

7. Sleep nu het nieuw aangemaakte veld naar links, zodanig deze voor het veld 'ID' staat.
Je kunt deze 'nieuwe' tabel testen door deze 'query' uit te voeren.

Voila nu heb je een keuzelijst met twee velden zoals ik de afbeelding hieronder.



Succes!

Geen opmerkingen:

Een reactie plaatsen