Sub categorie

Status
Niet open voor verdere reacties.

DarkSilk

Gebruiker
Lid geworden
7 sep 2010
Berichten
61
Hallo,

Ik ben bezig met een storingen database te maken..
Maar ben uit aan het zoeken hoe ik het moet doen met sub categorie.

Categorie heb ik als uitklap keuze menu:
- Netwerk Hardware
- Werkplek Hardware
- Besturingssystemen
- Systeem software
- Website
- Telecom
- ......


En heb een sub categorie gemaakt.. maar zijn niet gekoppelt aan de hoofdcategorie..

Voorbeeld: de tabel ''Netwerk Hardware'' waarin staat:
- Server
- router
- bekabeling
- ...

Dus als je in Categorie ''Netwerk Hardware'' kiest dat je dan bij sub-categorie kan kiezen uit Server , router ,, bekabeling, enzo..

Maar als je Besturingssystemen kiest ,, dat je dan bij sub-categorie kan kiezen uit Windows xp, windows vista, windows 7 enzo..



Hoe kan ik dit doen ?

Alvast bedankt !

Met vriendelijke groet,
DarkSilk
 
Krijg ik terecht de indruk dat je voor alle hoofdcategorieën aparte tabellen maakt?
Voorbeeld: de tabel ''Netwerk Hardware'' waarin staat:
Dat moet je absoluut niet doen, want je maakt het jezelf nodeloos ingewikkeld. Je kunt zelfs met één tabel af, als je dat zou willen. Dat hangt een beetje af hoe flexibel je het systeem wilt opzetten. Zelf zou ik voor deze opzet kiezen:

CatID Naam ParentID
1 Netwerk Hardware
2 Werkplek Hardware
3 Besturingssystemen
4 Systeem software
5 Website
6 Telecom
7 Server 1
8 Router 1
9 Bekabel 1
10 Windows XP 3
11 Windows Vista 3
12 Windows 7 3
Je kiest dus in de eerste keuzelijst een subcategorie, en de tweede keuzelijst filtert de lijst op basis van de ParentId uit de eerste lijst.
Door de lijst zo op te bouwen, kun je in theorie een oneindige lijstreeks creeëren, want voor de Categorie Windows XP (met nummer 10) kun je ook weer nieuwe items maken. Die krijgen dan als ParentID de waarde 10. Dus als je Windows XP kiest in de tweede lijst, kan een derde lijst de gekozen XP items laten zien.
Alternatief is dat je twee tabellen maakt: Categorie en Subcategorie. Maar eigenlijk werkt dat in de praktijk hetzelfde, want ook in de tabel Subcategorie moet je aangeven bij welke hoofdcategorie hij hoort. Dus je doet exact hetzelfde, maar veel minder flexibel. Want voor een volgend niveau heb je weer een aparte tabel nodig.
En nog iets: je maakt die keuzelijsten toch wel op een formulier, en niet in de tabel?
 
ok bedankt.. de 1ste manier is denk ik het makkelijkste gewoon 1 tabel gebruiken inplaats van voor iedere sub-categorie een aparte tabel maken..

Maar hoe doe je dat met parentID koppelen dus dat die dat herkent dat die alleen die sub categorieen pakt ?

Edit: Ja ik doe de keuzelijsten op een formulier maken.
 
Laatst bewerkt:
Ik maak wel even een voorbeeldje, dat is wat makkelijker uit te leggen.
 
Laatst bewerkt:
Ik maak wel even een voorbeeldje, dat is wat makkelijker uit te leggen.....


ok, maar 3de keuzelijst hoeft niet.. ik wil alleen Categorie en 1 sub categorie.
Ik heb nu 1 Tabel gemaakt met alle categorieen en Sub Categorieen erin.. zoals je het via dat plaatje deed.. maar hoe werkt dat met dat ParentID koppelen met CatID ?
 
En hier ist-tie... Hij is alvast voorbereid op een nuttige uitbreiding; er zit namelijk een teller bij die checkt hoeveel items er in een subcategorie zitten. Als dat 0 is, kun je op basis daarvan de volgende keuzelijst uitschakelen. Het heeft geen zin om op een keuzelijst te klikken als die leeg is tenslotte.
 

Bijlagen

Hallo,
ik heb bijna dezelfde vraag, maar ik wil dit niet in een formulier doen, maar in de database afdwingen. Vooorbeeld:
Tabel 1: Gebeurtenistype (bv. geboorte, beroep, doop, ....) [TypeId, Type]
Tabel 2: Gebeurteniswaarde. Hierin zitten voor alle types alle waardes (voor geboorte geen waardes, voor beroep alle beroepen) [WaardeId, TypeId, Waarde]

Nu wil ik in mijn database ontwerp in Access al afdwingen dat de loopup voor waardes afhankelijk is van het gekozen type.

Voorbeeld:
Indien type geboorte is, is lookup leeg
Indien type 'Beroep' is, is lookup gevuld met de beroepen.

ALvast bedankt
 
Hallo Dirk,

Allereerst welkom bij HelpMij! Je zou eens kunnen beginnen met het doorlezen van de etiquette die we hier hanteren, want aan jou vraag kleven nogal wat haken :). Om te beginnen: het is niet gebruikelijk om een eigen vraag te stellen in een vraag van iemand anders. En al helemaal niet als jou nieuwe vraag niets met de oorspronkelijke vraag te maken heeft. Ten tweede: de vraag is oud (ruim 3 jaar) en opgelost voor de vraagsteller. Die was dus geholpen met de aangedragen oplossing. Daar zul je het dus mee moeten doen.
Kortom: als je een eigen vraag wilt stellen, dan is er maar één goede weg: een eigen vraag starten! Dus daar wacht ik dan nog even op met mijn echte antwoord ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan