Keuzelijst

Status
Niet open voor verdere reacties.

Wines

Gebruiker
Lid geworden
17 mei 2012
Berichten
19
Hallo, Ik heb een DB gemaakt met een tabel waarin onder meer een kolom "Leidingevende" voor komt. Hierin komen sommige namen meerdere keren voor. Nu wil ik een query maken (denk ik) waar die namen dus maar 1 keer in voorkomen zodat ik die dan weer voor mijn keuzelijst op een formulier kan gebruiken. Ik ben mogelijk blond maar kom er even niet uit. Weet iemand raad?
 
Zet alle leidinggevenden in een aparte tabel en baseer daar de query voor de keuzelijst in het formulier op.

Als je de leidinggevenden al in een tabel hebt staan samen met andere personen (ondergeschikten?) voeg dan bijvoorbeeld een veld 'functie' o.i.d. toe aan die tabel zodat je in de query voor de keuzelijst kunt filteren op de leidinggevenden.

Mocht je er niet uitkomen, upload dan even je DB hier (zonder 'gevoelige' gegevens) als ZIP-bestand. Dan kunnen we je beter helpen.
 
Dank voor reaktie.
Ja die leidinggevenden in een tabel had ik. Maar dit kan veranderen (ontslag,andere afdeling, oid) dus kwam ik tot de conclusie dat het uit de tabel gehaald moet worden. Want ik wil die tabel "Leidinggevende" niet steeds hoeven te vernieuwen.
 
Je wilt die tabel niet steeds hoeven te vernieuwen? Dat zal toch wel moeten lijkt mij als je je DB up to date wilt houden. Er zijn nou eenmaal voortdurend wijzigingen in een organisatie.

Ik begrijp eigenlijk niet zo goed wat je wilt.
 
Want ik wil die tabel "Leidinggevende" niet steeds hoeven te vernieuwen.
Daar ontkom je denk ik niet aan; een leidinggevende is, net als een werknemer, een levende substantie, en die willen nog wel eens (ver)gaan. Je zult dus altijd rekening moeten houden met mutaties! Overigens is het niet best als je daar een dagtaak aan hebt, bij de meeste bedrijven gaat een leidinggevende wel een paar weken mee :D.
Zelf zou ik daar nooit een aparte tabel voor maken; zoals ik al zei: er zit fysiek geen verschil tussen een werknemer en een leidinggevende. Een selectievakje is meestal al genoeg om het onderscheid aan te geven. Bovendien vallen personen vaak 'getrapt' onder een afdeling/manager, dus de manager waar persoon A onder valt, heeft zelf ook weer een leidinggevende. Ik hou dat dus allemaal in één tabel bij, met per persoon een veld ManagerID (waarin je het ID van de manager zet) en een selectievakje Leidinggevende waarin je aanvinkt of iemand zelf leidinggevende is. Op je formulieren maak je dan een keuzelijst die filtert op de betreffende personen.
 
Dit excel doc laat mijn DB wel aardig zien. Zoals je ziet staat "mijn Baas" daar 2x in. Nu mijn oorspronkelijk vraag, een query (denk ik) waarin "Mijn Baas" maar 1 keer voorkomt.
 

Bijlagen

In je tabel met personen komt "Mijn Baas" toch maar 1 keer voor neem ik aan? En daar gaat het toch om, dat in je brontabellen elk gegeven maar 1 keer voorkomt?
Dat gegevens in je doeltabellen meerdere keren voor (kunnen) komen is logisch. Een baas heeft nou eenmaal vaak meerdere mensen onder zich.
 
Je kijkt naar de verkeerde kolom; je structuur is inderdaad zoals ik hem zou doen, maar dan uiteraard met PersID's i.p.v. namen in de verwijzingskolom. Het opzoeken doe je overigens op basis van de eerste kolom, niet de tweede.
 

Bijlagen

OctaFish, via google kwam ik ergens terecht in een bericht van vier maanden geleden waarin je ook iemand hielp met dit probleem. Ik copy je antwoord van toen :Als je een query gebruikt als rijbron voor de keuzelijst, dan kun je de regel zo aanpassen:

"SELECT Veldnaam FROM" in "SELECT DISTINCT Veldnaam FROM"

Ik ben hiermee aan het googchelen maar acces wil er haakjes in hebben ofzo. Weet jij welke en waar?
 
Goochelen (niet te verwarren met googlen) doet wonderen. Heb het voor elkaar dank voor meedenken
 
De Distinct heb je alleen nodig op het moment dat je waarden ophaalt uit een veld dat geen unieke waarden bevat. Bij keuzelijsten gebruik je dat soort velden doorgaans niet, maar kijk je naar een brontabel waarin je unieke records opzoekt. Zoals pfl en ik al eerder aangaven. Dus dat zou de juiste weg moeten zijn. Het komt wel eens voor dat je uit een gekoppelde tabel de unieke waarden wilt zien, bijvoorbeeld als je wilt weten welke klanten een bestelling hebben geplaatst. Dat hou je dan bij in de tabel Bestellingen. Doordat een klant meer dan één bestelling kan doen, komt het KlantID in die tabel waarschijnlijk meerdere keren voor. In dat geval gebruik je DISTINCT om de klanten één keer te laten zien in het resultaat. Ik raad je, kortom, toch aan om je structuur nog eens tegen het licht te houden :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan