unieke records tonen in combobox

Status
Niet open voor verdere reacties.

andycorp

Gebruiker
Lid geworden
24 mrt 2011
Berichten
53
in een formulier wil ik obv combox gebruikers kunnen selecteren.
ik krijg nu eveveel gebruikers te zien als dat er projectcodes zijn (1 gebruiker kan meerdere projecten hebben) maar ik wil een lijst met unieke gebruikers zien die vervolgens in een aparte list box alle projecten toont waar hij/zij op geregistreerd staat.

ikben er bijna maar kan de vinger niet op de plek leggen.

wie kan mij uit de brand helpen?

veel dank alvast.
 
Ik vermoed dat je voor de keuzelijst de gebruikers uit de tabel Projecten haalt. In welk geval je voor elke gebruiker zoveel regels krijgt als er records zijn in die tabel. Je gebruikt dus de verkeerde tabel voor de keuzelijst: die moet je baseren op de tabel Gebruikers. Die tabel bevat de unieke namen.
 
klinkt logisch. echter de lijst gebruikers levert alleen de medewerkers in dienst, daarnaast hebben we namelijk ook te maken met "subcontractors" dwaarvan de namen alleen voorkomen in de projecten tabel.

uitdaging?
 
Niet voor mij, maar blijkbaar wel voor jou ;)
Eerst een vraagje: waarom sla je namen op in de tabel Projecten? Is er voor een project maar één naam per project, die verder niet meer gebruikt wordt? Oftewel: volgens de normalisatie regels: is een naam van een project afhankelijk van een projectrecord? Als ik jouw vraag goed lees, denk ik van niet, want in dat geval zou je een naam maar één keer tegenkomen in de lijst, en heb je het probleem niet. Ik zou zeggen: normaliseer dus eerst je tabel, en zet de herhalende gegevens in een aparte tabel, die je vervolgens weer koppelt aan je project. En dan gaat mijn eerste antwoord weer op :)
Tevens voorkom je dat namen verkeerd worden ingevuld. Dus geen vraag meer of Piet Janssen dezelfde persoon is als Piet Jansen.
 
Bekijk bijlage assign21.zip

Michel,

bijgevoegde zip geeft je misschien meer inzicht in mijn problematiek.
ik krijg een export uit financieel systeem die alle assignaties oplevert waar dus ook de desbetreffende medewerker instaat.
nu kan ik vanuit de FTE tabel (alleen medewerkers in dienst, geen subcontractors) een selectie maken maar die moet dan wel de projectcodes geven i(in het rechterscherm) die aan hem zijn toegewezen. voor de duidelijkheid een projcode is ook vakantie, ziekte, opleidingen en daarnaast klantproject.

maakt dit het iets duidelijker voor je?

alvst dank voor je input
 
Ik snap niet helemaal wat je aan het doen bent, maar je keuzelijst is een rommeltje, vrees ik. Je hebt twee tabellen ([Assignaties] en [FTE]) gepakt en die niet aan elkaar gekoppeld. Daarmee heb je effectief een Cartesisch product gemaakt; een combinatie van alle records uit de twee tabellen. En dat zal toch niet de bedoeling zijn. Dus je eerste taak is om te geven hoe die twee tabellen aan elkaar gekoppeld moeten worden.
 
de koppeling ligt op FTE.persnr en Assignaties.number waarbij 1 employee "n" assignaties kan hebben
 
Dan heb je de tabel verkeerd ontworpen; je kunt alleen een één-op-veel relatie maken als je uit je brontabel het sleutelveld koppelt. Het veld Number in Assignaties is dat niet. En doordat het veld geen sleutel is, kloppen de gegevens in FTE ook niet. Je hebt daar data in staan die niet te koppelen is aan Assignaties.
 
Laatst bewerkt:
Michel,
kun je misschien in de testdb die ik je gestuurd heb de juiste wijze neerzetten. ik ben een beetje lost op dit moment.
waardeer je hulp zeer.

groet,Michell
 
dus wat je zegt is dat ik tabel(assignaties) het number veld als sleutelveld moet definieren en deze koppelen met het persnr veld uit tabel FTE (ook als sleutelveld).
gelet op jou opmerking gaat dit em niet worden aangezien numberveld uit assignaties duplicaten bevat.

hoe moet ik dit aanvliegen? dank voor je hulp.

Michell
 
de koppeling ligt op FTE.persnr en Assignaties.number waarbij 1 employee "n" assignaties kan hebben
Een sleutelveld mag geen duplicaten bevatten, dus als het veld Number niet uniek verwijst naar één persoon (een sleutelvoorwaarde) dan kun je die dus niet gebruiken. Echter, in jouw db heb je geen enkel veld op persoonsniveau dat dan uniek is. Een ID veld met Autonummering toevoegen is dan een nep-oplossing; dit nummert dan eigenlijk alleen maar records. Zolang niet duidelijk is hoe je de gegevens uit de tabellen aan elkaar gaat koppelen, blijf je problemen houden. In de tabel [Renewals] heb je bijvoorbeeld een Employee naam [CORBEY, R REN?] staan. Die is nergens in terug te vinden, en dus niet te koppelen. Ik snap dus totaal niet hoe de tabellen aan elkaar gelinkt moeten worden, en dat maakt het nogal lastig om iets zinnigs te zeggen...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan