Access-kwestie

Weet iemand een oplossing voor onderstaande kwestie?

Access 2007. Ik maak een nieuwe database met twee tabllen:

[Users]
ID – AutoNumber
username – text
desktop1 – lookup (numeric: gekoppeld aan Desktops.serial)
desktop2 – lookup (numeric: gekoppeld aan Desktops.serial)

[Desktops]
ID – AutoNumber
serial – text (serienummer van de desktop)

Deze weergave is uiteraard sterk vereenvoudigd. In dit voorbeeld heb ik een database met gebruikers en desktops. De desktops hebben allerlei eigenschappen maar ik noem hier alleen het serienummer. Je begrijpt dat omwille van normalisatie Desktops een aparte tabel moet zijn.

Ik weet niet zeker wat de juiste methode is om de desktops aan de users te koppelen. Sommige gebruikers hebben één desktop; andere twee. In het echt gaat het zelfs om drie desktops. Een juiste manier is om een koppeltabel te gebruiken maar dat is hier niet handig omdat ik dan een hele berg andere dingen moet veranderen en daar is geen tijd voor. Alternatief kan je een multidimensionele tabel maken – een array van desktops ipv één desktop-id per veld in [Users]. Dat doe ik liever niet omwille van de portability van de database.

Ik ben dus gebonden aan dit database-ontwerp.

Wat ik zoek is een manier om door de tabel met users te loopen en het id, de username en van alle desktops van de user het id + het serienummer weer te geven.

Ik gebruik de report-wizard om een report te maken van de tabel Users. De automatische inhoud daarvan negeer ik voor nu en ik maak een nieuw tekstveld. In het label schrijf ik ‘Desktop 1’ en het tekstveld zelf koppel ik aan de source users.desktop1. Dit geeft me het id van de desktop van de user in het geselecteerde record. Wat ik *wil* is het id + het serienummer.

Ik voeg daarom aan de eigenschappen van het report alle tabellen met alle velden toe, zodat ik ook toegang tot de serienummers heb.

Zodra ik dat echter doe, geeft het report geen data meer weer.

Mijn vraag is dus: hoe krijg ik het serienummer achter het id?

Of, als je het wat formeler wil hebben: hoe kan ik in een report met bound values putten uit een tabel waaraan meer dan eens wordt gerefereerd?

De query zelf ontgaat me ook een beetje. Ik ben bekend met inner en outer joins en aliases maar hoe geef ik aan dat ik twee joins naar dezelfde tabel wil maken? Dit is een minder urgent probleem maar minstens even interessant.