Meerdere separate gegevens in 1 veld

Status
Niet open voor verdere reacties.

grietsenwijma

Gebruiker
Lid geworden
25 jun 2013
Berichten
233
Goedemiddag,

Ik ben me nog aan het oriënteren op de mogelijkheden van Access
Ik werk normaal volledig in Excel
Ik probeer nu een database op te zetten van potentiele onderaannemers.
Ik was al; een beetje in Excel begonnen (omdat dat nu eenmaal mijn denkwereld is), maar ik weet wel zeker dat Access hier veel beter voor geschikt is.
Moet het me alleen nog wel even eigen maken.

Punt waar ik in Excel maar ook hier tegen aan liep was het volgende:

Ik wil uiteindelijk in de database gaan zoeken/filteren op bijvoorbeeld de specialisatie van een bedrijf.
Lijkt me te doen, maar waar ik op haak is het volgende:

1e:
Een bedrijf kan wel 2, 3 of 4 specialisaties hebben.
Je wilt het toch met een query of filter uit 1 vak gaan halen.
Wat is de oplossing van Access hiervoor?

2e:
Is het mogelijk om op dit punt iets met gegevensvalidatie gekoppeld aan een aparte lijst te doen?
Wat ik namelijk voorzie is dat je bedrijf X niet kunt vinden als je zoekt op bijvoorbeeld specialisatie "straatwerk"
.....omdat iemand voor bedrijf X als specialisatie "strater" heeft ingetypt.

Alvast dank voor het meedenken!
 
Laatst bewerkt:
Je denkt inderdaad nog een beetje als een Excel werker. Zul je moeten afleren :).

Punt 1: er zijn een paar opties denkbaar, waarvan er één traditioneel is (en compatibel met andere systemen) en één specifiek voor Access is ontwikkeld. Die laatste werkt wel, maar is nogal lastig om later te verwerken. Ik leg ze zo verder uit.

Punt 2: dat is in Access eigenlijk nooit een punt, omdat je daar (als je het goed doet) werkt met brontabellen. Die brontabellen bevatten bijvoorbeeld de categorieën die je wilt gebruiken, zoals 'Straatwerk', 'Loodgieters' etc. Wat je in Access nooit doet, is daarvoor vrije tekstvelden gebruiken waar de gebruiker maar wat in kan knallen. Die brontabellen bevatten dus de gegevens die je in je datatabellen nodig hebt. En die zijn dan gekoppeld aan die datatabel, zodat je geen niet-bestaande categorie kunt kiezen.

Punt 1 is dus wat lastiger. Normaal gesproken gebruik je in Access aparte tabellen voor verschillende entiteiten. Een entiteit is bijvoorbeeld: (onder)aannemers. Een entiteit kan óók zijn: klanten. Een entiteit kan zijn: machines. Elke objectgroep met unieke eigenschappen is in essentie een kandidaat voor een eigen tabel. Dus in de tabel tMachines leg je alle machines vast, met een ID, Merk (vaak gebruik je daar ook een aparte brontabel voor), aanschafdatum, prijs, etc. en in de tabel Aannemers de NAW gegevens. Heb je graag onderscheid tussen aannemers en onderaannemers, dan kan dat in dezelfde tabel door een keuzelijst met de keuzes Aannemer + Onderaannemer. Dan kun je simpel filteren op de twee. Een aannemer verschilt doorgaans fysiek namelijk niet heel erg van een onderaannemer. Hooguit dat je bij het inrichten van een project onderaannemers wilt kunnen koppelen aan aannemers, en niet andersom.

Een (onder)aannemer heeft dus in jouw geval specialisaties, en dat kon je op twee manieren vastleggen.
Manier 1: gebruik een aparte tabel voor de registratie van Aannemer + Specialisatie. In die tabel neem je een veld AannemerID op, en een veld SpecialisatieID. De AannemerID komt uiteraard uit de tabel Aannemers, en SpecialisatieID uit de tabel Specialisaties. Beide tabellen krijgen een één-op-veel relatie met Aannemer_Specialisatie zodat je elke combinatie kan maken. En in die tabel staan dan voor een aannemer met 4 specialisaties dus 4 records, en voor een aannemer met 3 specialisaties dus 3 records. Daarnaast kun je in die tabel nog extra gegevens over de invulling daarvan kwijt, zoals wellicht aangepaste tarieven, specifieke levertermijnen etc. Dus je kunt de specialisaties heel specifiek invullen.
De tweede manier is eigen voor Access: gebruik een veld in de tabel Aannemer met een "Veld met meerdere waarden". Dat veld maak je met de wizard, en dat veld koppel je aan de tabel Specialisaties. Als je dat veld vervolgens gaat gebruiken, krijg je een keuzelijst te zien met selectievakjes, en je kunt dan alles aanvinken wat van toepassing is. Je ziet dan in één oogopslag welke specialisaties er zijn bij een aannemer.

Methode 2 oogt vriendelijker in het gebruik (is dat ook) maar is technisch een stuk onhandiger op het moment dat je de database wilt exporteren, of anderszins wilt automatiseren. De mogelijkheden die je in optie 1 hebt, heb je in ieder geval niet meer. Het is puur een kwestie van aanvinken van de opties. Maar soms is dat genoeg. Ik gebruik het niet veel, en ben er ook geen voorstander van. Maar het is soms wel héél erg makkelijk om in één tabel meerdere opties aan een persoon te kunnen hangen :).

Kijk maar eens wat voor jou bruikbaar is.
 
OctaFish,

Zou heel snel wegrennen al leek zijnde, dit moet ik echt een week onder mijn kussen leggen om het te begrijpen.

Weet dat je graag wilt dat de mensen het zelf onder de knie krijgen, maar met zo'n boekwerk ging ik weer terug naar excel.

Gr. Cor
 
...dit moet ik idd een week onder mn kussen leggen
Eerst maar eens uitprinten, wie weet of ik met experimenteren en try&error een eind kom

Mooist zou zijn als er een bestaand sjabloon voor was maar wat ik aan sjablonen heb gezien zit vlg mij niks tussen dat er voldoende op lijkt.

In ieder geval bedankt voor de input, aan de hand hiervan ga ik broeden :)
 
Aan sjablonen heb je niks, want die voldoen zelden aan jouw specifieke omstandigheden. Wat je dan vaak ziet, is dat een nietsvermoedende gebruiker de werkwijze aanpast aan de database, en dat is natuurlijk het laatste dat je moet doen. De applicatie moet de werkprocedure ondersteunen, en niet andersom. Kijk vooral ook eens naar de cursus Access in de Handleidingen sectie. Dan wordt je hopelijk al wat meer van de basis principes duidelijk. En verder kun je natuurlijk op elk moment van de dag de db posten en om hulp vragen :).
 
Ik ga met jou info er komende dagen even in duiken

De boel zou niet ingewikkeld moeten zijn
Naam &adresgegevens
Soort bedrijf (onderaannemer, leverancier, ZZP)
Branche
Specialisaties
en nog 1 of 2 opmerkingenvelden
Behalve filteren op deze gegevens hoef ik nauwelijks functionaliteit

Dat is het wel zo'n beetje

Zie onder eerste opzet zoals ik die in Excel maakte

Bedrijfsnaam
Plaats
PC
Provincie
" Soort bedrijf"
Sector/ hoofdactiviteit
Specialismes
Trefwoorden opmerkingen
Hyperlink leveranciers
Telefoon algemeen
Contactpersoon1
tel.
Mail
Contactpersoon2
tel.
Mail
 
In access vind je ook een template waarmee je een database voorbeeld voor contacten kan aanmaken. Dat is natuurlijk nooit precies wat je wil, maar kan wel als voorbeeld dienen.
 

Bijlagen

  • Contacts_template.JPG
    Contacts_template.JPG
    53,5 KB · Weergaven: 27
Misschien is het handig als je zowel je Excel bestand (geanonimiseerd natuurlijk) als je eerste database meestuurt; kunnen we alvast meekijken en denken. De Access templates vind ik dus leerzaam als je al wat verder bent zodat je wat trucjes kan opsteken, of niet bereid bent om op veel tijd te steken in het leren van Access. Persoonlijk zou ik dus de meegeleverde sjablonen even negeren.
 
Zie net dat mn reactie er helemaal nooit is doorgekomen...

Naar aanleiding van de vraag er om in de bijlage het bestand zoals ik dat oorspronkelijk in Excel had bedacht, met de mogelijkheid om 5 specialismes aan 1 record te koppelen. (zie kolom "Specialisme")

..en vandaar mijn vraag of het ook in Access mogelijk is om als het ware 5 (of meer) kenmerken in 1 veld van een record kwijt te raken.

Volgens mij is het heel simpel
...mits je de oplossing kent :)

Graag suggesties.

NB: het bleek me niet mogelijk het access bestand zomaar te uploaden, vandaar dat ik het eerst in een zipbestand heb verpakt
 

Bijlagen

  • Relaties.zip
    30,8 KB · Weergaven: 19
  • Proef-1.xlsx
    17 KB · Weergaven: 19
Dat laatste klopt. Op de een of andere manier accepteert HelpMij geen databases. Maar gelukkig wel in een zip, dus dat werkt ook prima. Bovendien is het bestand dan kleiner. Zal er zo even naar kijken!
 
Ik heb je bronbestand opgeschoond, zodanig dat je de tabellen nu correct kunt importeren in Access. Daarbij heb ik de kolom Specialisaties losgekoppeld, en alle samengevoegde velden verwijderd. Dat moet je sowieso dus nooit doen; cellen samenvoegen in tabellen is een hopeloos ding om te doen. Eén rij moet altijd één record zijn. In Access kun je die tabellen dan wél importeren, en vervolgens koppelen aan de juiste tabellen. Ik maak nog even twee varianten, met een meervoudig veld, en met een koppeltabel.
 

Bijlagen

  • Proef-1.xlsx
    17,5 KB · Weergaven: 16
Ik heb de uitwerkingen ook in de database gedaan; daar vind je nu twee oplossingen. De eerste (tabel Leveranciers) met een multi-value veld, en de tweede (Leveranciers_Koppel) met een koppeltabel. De eerste variant kun je vullen met een Toevoegquery. Daar zit een voorbeeld van bij, met nu een filter op één record, zodat je kan kijken wat de query doet. De tweede variant werkt met een bijwerkquery, en ook daar zit een voorbeeld van bij.
 

Bijlagen

  • grietsenwijma.zip
    45,1 KB · Weergaven: 18
Dit ziet er uit als een heel goed begin!

Ik ga hier zsm mee stoeien, denk dat ik hiermee een heel eind op het juiste spoor ben

Bedankt, en ik hou je op de hoogte van de verdere ontwikkelingen

Grietsen
 
Ben benieuwd voor welke variant je kiest. De makkelijkste (voor de gebruikers) is degene met het multi-value veld, maar die is het moeilijkst om te beheren. Die keuze moet je wel gelijk in het begin maken, anders kom je later alsnog in de problemen :).
 
...heeft even geduurd voor ik hier op reageerde
Andere drukte die ook even wat aandacht opeiste.

Ik ben met je oplossingen wat aan het puzzelen geweest, en ontdekte al gauw dat ik moet beginnen met mijn lijst met specialismen op orde te krijgen voor ik verder dingen ga bouwen.
Ik heb er nu 135, van de week gooi ik dat in de groep en dan komen er vast nog een aantal bij.
Dat moet ik op logische wijze rubriceren en alfabetiseren.

dan komt de volgende stap.
Koppelen werkt inderdaad voor het gebruik onhandiger dan met een multi value veld, vooral omdat ik verwacht dat er records komen met misschien wel 10 specialismes.

Leidend moet ook zijn dat we de mogelijkheid open willen houden om de boel ooit in ons nieuwe ERP-systeem te integreren.

Ik ben al even aan het puzzelen geweest met jou basis.

Makkelijkst leek me om jou tabel (Specialisme ID) vol te gooien met mijn uiteindelijke lijst met specialismes en dan die 10 die er nu staan er uit te gooien.
Helaas, enige wijze die ik daarvoor vond was één voor één overtypen. .....dat kan vást anders :)
Ik heb ook geëxperimenteerd met het importeren van een nieuwe tabel vanuit Excel.
Lukte me uitstekend, alleen die krijg ik er niet een multi value veld aan verknoopt.

Graag advies!

Alvast dank!
 
Leidend moet ook zijn dat we de mogelijkheid open willen houden om de boel ooit in ons nieuwe ERP-systeem te integreren.
Lukte me uitstekend, alleen die krijg ik er niet een multi value veld aan verknoopt.
Twee opmerkingen, allebei hetzelfde probleem en dezelfde oorzaak. De eerste zal je meer last van hebben dan de laatste denk ik. Probleem: multi-value velden zijn specifiek voor Access. Zodra je daar mee aan de gang gaat, kun je elke koppeling met welk systeem dan ook gelijk vergeten. Dus als je ooit naar een ERP systeem wilt, begin dan niet aan dit soort velden, maar hou je database compatibel met de gangbare technieken die alle systemen kennen.

Dat geldt dus eigenlijk ook voor het importeren, al is daar nog wel een mouw aan te passen, mocht dat nodig zijn. Overigens hoeft een koppeltabel helemaal niet onhandiger te zijn dan een multi-value veld. Ik heb jaren zonder gekund, en ze nooit gemist als zodanig :).
 
Hallo
Dat moet ik op logische wijze rubriceren en alfabetiseren.

Rubriceren geeft me een hint dat er groepen zijn die je dan terug in een aparte tabel kan opsplitsen en aan je specialismen tabel kan linken. Alfabetiseren heeft weinig zin aangezien de volgorde waarin ze in de database staan geen betekenis heeft.

Als één van de vereisten is dat het later moet opgeladen worden in het nieuwe ERP systeem zou ik ook zoveel mogelijk de datastructuur van deze ERP oplossing gebruiken. Die moet beschikbaar zijn bij de documentatie of opvraagbaar bij jullie contactpersoon. Daarmee ga je later veel tijd en moeite besparen.
 
... zou ik ook zoveel mogelijk de datastructuur van deze ERP oplossing gebruiken. Die moet beschikbaar zijn bij de documentatie of opvraagbaar bij jullie contactpersoon.
Veel bedrijven geven die informatie niet prijs. Dus daar zou ik niet op voorhand van uit gaan :). Maar gestructureerde data, met tabellen met velden met enkelvoudige data moet je altijd wel in kunnen lezen/mappen met andere systemen. Dus daar zou ik sowieso op insteken. En qua categorieën: ik zou eens kijken naar een manier of je die kan opsplitsen in hoofdcategorieën en subcategorieën. Dan kies je eerst een hoofdcategorie, en vervolgens een subcategorie. Mits dat van toepassing is, werkt dat vermoedelijk makkelijker dan door honderden categorieën te moeten scrollen.
 
Veel bedrijven geven die informatie niet prijs. Dus daar zou ik niet op voorhand van uit gaan :).
Ik heb nog geen ERP bedrijf geweten die de schema's niet verstrekte. Zelf beschik ik over de SAP tabellen, deze van het HR systeem, de lab software, enzovoort. Je moet het meestal wel vragen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan