Toon posts:

[Access] Nieuwe combinatie aanmaken mbv checkboxes

Pagina: 1
Acties:

Verwijderd

Topicstarter
In een applicatie in Access 2000 moet het volgende mogelijk zijn:

Je hebt de tabel "Machines" en de tabel "Materialen".

Op iedere machine kunnen een of meerdere materialen verwerkt worden, dit wordt vastgelegd in de tabel Mach/Mat met de velden

- Combinatiecode (=Sleutel) (autonummer)
- Machine
- Materiaal

Deze tabel bevat dus alleen records met daarin de machine en het materiaal waarvan de combinatie mogelijk is.

Dit is wel in de Table-view achtige manier te doen (kies machine en kies materiaal, dan volgende record, maar dit is niet gebruikersvriendelijk en zeker niet overzichterlijk wanneer dit voor een groot aantal combinaties gedaan moet worden .....duhhhh..... 8)

Tbv. de gebruikers en het overzicht moet er een form komen waarin het volgende mogelijk is:

- Eerst wordt een bepaalde machine gekozen mbv een combobox.

-> Na het kiezen wordt een lijst getoont met alle voorkomende materialen (tabel materiaal) met daarachter een checkbox die aangeeft of dit materiaal op de gekozen machine wel of niet voorkomt.

Probleem
De nu getoonde lijst bevat alleen de materialen waarvoor de combinatie in de tabel mach/mat voorkomt, dus die als checkbox = true zijn weergegeven op het form.

Probleem No. 2
Als deze lijst zichtbaar is moet dew gebruiker een vinkje kunnen zetten bij een machine/materiaal combinatie om aan te geven dat deze mogelijk is. Er moet dus in de tabel een record aangemaakt worden voor de voorkomende combinatie.

Mijn oplossing
In VBA is in combinatie met een zooi update-query's wel iets te fabriceren wat ongeveer het gewenste resultaat oplevert, maar dit werk toch net weer te omslachtig en onvriendelijk.

Ik heb mijn stapel Access boeken al doorgebladerd, maar zonder resultaat :(

Verwijderd

Hmmm... lastig! In ieder geval met checkboxen.

Het is wel redelijk makkelijk te doen als je een listbox gebruikt met daarin alle materialen.
Als je die listbox zet op multiple select, kan de gebruiker de juiste materialen selecteren en de-selecteren (met simple select hoef je geen Control of Shift ingedrukt te houden).
Vervolgens kan je eenvoudig alle geselecteerde waarden doorlopen, en voor elke waarde een record creeeren in de tabel Mach/Mat.

Verwijderd

- Combinatiecode (=Sleutel) (autonummer)
- Machine
- Materiaal
1e opmerking. Waarom geen unieke sleutel van machine_id en materiaal_id samen? Kun je meteen afvangen dat materialen meerdere keren aan dezelfde machine zijn gekoppeld.

[ Voor 22% gewijzigd door Verwijderd op 25-11-2002 17:10 ]


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Je kunt toch een lijst maken van alle materialen met een query die alle materialen uit mach/mat pakken en dan een UNION met alle materialen uit de tabel materialen waarvan de waarde niet in mach/mat voorkomt.
En als je dan een formulier met een OK button maakt, kun je op het moment dat de OK button wordt ingedrukt eerst alle materialen uit mach/mat (voor een machine) verwijderen en daarna je lijst met materialen doorlopen en dan voor elk materiaal wat aangevinkt is een INSERT doen in mach/mat.