Voornaam en achternaam splitsen over 2 velden?

Status
Niet open voor verdere reacties.

roadworker

Gebruiker
Lid geworden
12 aug 2009
Berichten
488
Wat is nu de beste handeling om een naam in te voeren in een tabel?
Vele tutorials zweren bij een splitsing over 2 velden,maar wat als je dan de voornaam EN achternaam wil selecteren in een opzoekkolom?
Heb hier al gelezen dat dat via code kan,maar voor een ongetrainde gebruiker lijkt het mij toch veel makkelijker om de volledige naam in 1 veld te zetten en deze dan direct te kunnen selecteren in de dropdown list,ipv met code liggen klooien waar je (in het begin toch :D) geen snars van begrijpt.....
Wat zijn de nadelen van deze manier?
 
Persoonlijk zou ik een splitsing doen in drie velden als het om naamgegevens gaat, geen 2: [Voornaam], [Tussenvoegsel] en [Achternaam]. De reden daarvan is simpel: indexeren, sorteren en gegevensintegriteit. Je wilt vermoedelijk kunnen sorteren op Voornaam en op Achternaam. In het laatste geval wil je de sortering niet laten beïnvloeden door tussenvoegsels.
In een database bewaar je gegevens op detailniveau. Daarbij splits je samengestelde gegevens dus op in aparte velden. Een voornaam is een eigen entiteit, net als een achternaam. En wat mij betreft dus ook een tussenvoegsel.
Je hoeft (gelukkig) niet te kunnen programmeren om in een keuzelijst een veld te maken met daarin de volledige naam, als je dat zou willen in een keuzelijst. Dat kan je met een simpele formule in een query (van een keuzelijst) maken, op de volgende manier:
Code:
Naam: [Voornaam] & " " & [Tussenvoegsel]+" " & [Achternaam]
Als je denkt dat het logischer is om de naam in één veld te zetten, dan zou je dat principe ook moeten toepassen op gegevens als Adressen etc. En ik neem aan, dat je dat toch ook niet overweegt?
 
Als je denkt dat het logischer is om de naam in één veld te zetten, dan zou je dat principe ook moeten toepassen op gegevens als Adressen etc. En ik neem aan, dat je dat toch ook niet overweegt?

Heb het alleen overwogen bij namen,omdat ik totaal geen idee had hoe ik beide in een opzoekkolom kon krijgen.......moet die query dan geselecteerd worden als bron in die opzoekkolom en moet er nog andere info in of enkel die code?

Ben ook bezig aan een tabel over voertuigen,zoals merk,type,chassisnr,pk,kw,cilynderinhoud e.d.,moet ik voor merk een aparte tabel maken en voor type ook 1,of is het aangeraden om merk en type in 1 tabel te zetten (verschillende automerken en types) die dan via een keuzelijst opgeroepen kunnen worden?
Welke soort van informatie over een voertuig raad jij aan om dezelfde tabel te zetten,en welke moet afgesplitst worden in een andere?Tabelanalyse van Access geeft geen bevredigend resultaat....
 
Wil je de db goed normaliseren, dan probeer je herhalende gegevensgroepen zoveel mogelijk in eigen tabellen onder te brengen. Dat geldt bijvoorbeeld voor automerken ook: in der records Opel - Kadet, Opel - Omega en Opel - Corsa is Opel duidelijk een herhalend gegeven. Bovendien wil je voorkomen dat iemand per abuis OPpel - Syntegra opvoert als merk-type combinatie. Dus voor automerken zou ik een aparte tabel maken, waarbij je MerkID dan als koppelveld gebruikt. In je opzoeklijst verwijs je dan naar de tabel Automerken. Bovendien kun je in de tabel Automerk ook andere gegevens opnemen waarmee je het merk kunt kwalificeren, zoals Land (Opel - Duitsland, Saab - Zweden (nog wel...) ) etc.
Door eens rustig te kijken naar je tabel zie je gauw genoeg wat belangrijke gegegensgroepen zijn die herhalend terugkomen en welke niet. Een veld als Tussenvoegsel is bijvoorbeeld ook herhalend, maar er zullen weinig mensen zijn die daar een aparte tabel van maken :)
Een samengesteld veld voor keuzelijsten maak ik zelf meestal gelijk in de keuzelijst als het een simpele is, zoals een samengestelde naam. Wil je hem vaker gebruiken, in rapporten bijvoorbeeld, dan kun je er ook een functie van maken, die je dan als bron voor je keuzelijst gebruikt. Dan ben je nog een stuk sneller klaar.
 
Bedankt voor de hulp!
Helaas ben ik nog niet zo ver dat ik functies e.d. kan gebruiken,ben namelijk nog mijn 1ste stapjes aan't zetten in de wonderful world of MS Access...:)
In het bijgevoegde excel bestandje kan je zien welke info ik nodig heb in mijn database,welke info moet gesplitst worden in aparte tabellen?


Bekijk bijlage Map1.xlsx
 
Laatst bewerkt:
Ik heb even een voorbeeldje gemaakt, waarbij ik je excel tabel heb gesplitst in een aantal tabellen brontabellen, en een gegevenstabel. De tabellen zijn ook aan elkaar gekoppeld in Relaties, zodat je een idee hebt hoe dat verder kan worden uitgebouwd.

Op het voorbeeldformulier heb ik voor Merken en Typen keuzelijsten gemaakt, waarbij Type afhankelijk is van merk. Ook weer ter lering ende vermaeck :)
 

Bijlagen

  • Voertuigen.zip
    30,9 KB · Weergaven: 69
Bedankt voor de hulp! :thumb:
Ik begrijp al een beetje beter welke richting ik uit moet.....
Loont het ook de moeite om voor eigenaar,verzekerde en verzekering aparte brontabellen aan te maken?Deze eigenaar en verzekerde zullen uit maximaal 10 verschillende bronnen kunnen bestaan,dus misschien overbodig,maar verzekering zou ik graag koppelen aan een tabel waar alle verschillende maatschappijen of kantoren in komen te staan waarmee ik al contact gehad heb,en nog zal krijgen.Is dit aangewezen?
 
Je geeft zelf al antwoord op je vraag :) Ja dus! Zeker voor verzekeringsmaatschappij zou ik een aparte tabel maken, en daar zou ik vermoedelijk ook nog een tabel Contactpersonen aan hangen als je per maatschappij met meerdere contactpersonen te maken kan krijgen. Maar ook voor de klanten is een aparte tabel zeker aan te raden. Met dezelfde constructie als ik gebruikt heb: een sleutelveld in de nieuwe tabellen, en een numeriek veld in je gegevenstabel waarin je het sleutelveld opslaat.
 
Bedankt Michel,ben weer wat wijzer geworden dankzij jouw heldere uitleg!:thumb:
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan