Keuzeveld met afhankelijke selectiemogelijkheid

Status
Niet open voor verdere reacties.

jlebbink

Gebruiker
Lid geworden
15 feb 2010
Berichten
106
Ik heb een database met inkopen behorende bij een werkorder.
Deze inkopen zijn ingedeeld in "Inkoopdelen" bv Besturing, aandrijving, cabine enz. (ja, het heeft met liften te maken). De items behorende bij deze inkoopdelen zijn "Subgroepen". Deze subgroepen zijn afhankelijk van de "Inkoopdelen".
Mijn probleem. Als ik in het formulier "Subinkopen" besturing heb geselecteerd, dan wil ik alleen de subgroepen behorende bij het inkoopdeel zien en niet die van Aandrijving of welke andere dan ook.
Hoe krijg ik dit voor elkaar? Zal niet moeilijk zijn, maar ik zie het even niet.
Bijgevoegd het gedeelte van de database waar het om gaat.

Bij voorbaat al mijn dank.
 

Bijlagen

Als je er een mdb bestand van maakt, kan ik er zometeen wel even naar kijken.
 
Wat is je probleem? Als ik in je formulier kijk, dan doet-ie exact wat je vraagt.
 
Niet wat ik wil.
Als ik inkoopdeel "Besturing" kies in het eerste veld van "Subforminkopen", dan krijg ik bij het keuzeveld "Subgroep" alle subgroepen te zien. Het is echter de bedoeling, dat ik alleen die items te zien krijg die behoren bij het betreffende inkoopdeel. Zie formulier "Inkoopdeel" met de bijbehorende "Subgroepen"
 
En dit is wat ik krijg, en dat is exact wat je omschrijft. Maar ik vermoed een heel ander probleem, en dat is dat je het eigenlijk over een ander formulier hebt, dat er niet bij zit. Want wat je beschrijft als procedure, is de werking van een afhankelijke keuzelijst, waarbij je in de eerste keuzelijst een Inkoopdeel selecteert, en in de tweede keuzelijst de gekoppelde Subgroepen.

En op dit formulier zitten helemaal geen keuzelijsten, je hebt hier alleen een formulier dat is gebaseerd op de tabel [Inkoopdeel], zodat je per record een inkoopdeel ziet, en een gekoppeld subformulier zodat je per inkoopdeel de gerelateerde subgroepen krijgt.
 

Bijlagen

  • Inkoopformulier.png
    Inkoopformulier.png
    17,4 KB · Weergaven: 36
Het formulier waar ik de vraag over heb gesteld is het formulier ""SubformInkopen" (In de oorspronkelijke database een onderdeel van een werkorder)

Als ik het formulier "SubformInkopen" open. maak ik om te beginnen een selectie van het "Inkoopdeel". De rijbron is de tabel "Inkoopdeel". Vervolgens ga ik naar de "Subgroep" (Veldnaam "Omschrijving"). De rijbron is een query. Hierin zal dus een criteria moeten komen welke alleen de items behorende bij het inkoopdeel laat zien.

De formulieren "Inkoopdeel" en "Subgroepen" zijn formulieren bedoeld voor het bewerken/toevoegen van lijstitems.

M.vr.gr.
 
Het formulier waar ik de vraag over heb gesteld is het formulier ""SubformInkopen" (In de oorspronkelijke database een onderdeel van een werkorder)
En die ontbreekt dus. En dat kijkt dus niet geweldig ;)
 
Typisch. Ik heb even het bestand inkoop1.zip uitgepakt en het zit er wel in. Wazig weergegeven en het formulier is te openen.
Ik werk met Access 2007. Misschien is dat de oorzaak.

Ik voeg een schermopname toe. Hieri is het formulier te zien.
 

Bijlagen

  • Formulier.jpg
    Formulier.jpg
    95,2 KB · Weergaven: 32
Het had geholpen als je had gezegd dat het een verborgen formulier was :) Gelukkig was dat aan je plaatje af te lezen. Hij staat er dus inderdaad in.
 
Ik zie in dat formulier dat je erg onhandige namen hebt gebruikt voor zowel de keuzelijsten als de tekstvakken: ze hebben allemaal de prefix 'lbl' Die prefix wordt echter doorgaans gebruikt voor labels, en niet voor tekstvakken. En al helemaal niet voor keuzelijsten! Ik heb ze dus veranderd in meer logische namen.
Om je een idee te geven wat logische naamgeving is:

Object Prefix
Keuzelijst lst
keuzelijst met Invoervak cbo
Tekstvak txt
Bijschrift lbl
Opdrachtknop cmd
Groepsvak fra
Radiobutton opt
Selectievakje chk

etc. Ik heb een criterium op de tweede keuzelijst gezet die filtert op de eerste. Omdat je die uiteraard moet kunnen wijzigen, heeft de eerste keuzelijst een gebeurtenis die de tweede keuzelijst ververst.
 

Bijlagen

Tot dusver bedankt voor de oplossing. Dit werkt wanneer ik het SubformInkopen afzonderlijk gebruik.

Nu ik het opgenomen heb in een werkorderformulier, werkt het niet meer.

Wat heb ik gedaan:
Ik heb in het SubformInkopen, de tabel Inkoop Details en de Query Inkoop Details het werkordernummer opgenomen en daarmee het SubformInkopen gekoppeld aan de Werkorder. In het SubformInkopen is het werkordernr een verborgennummer.
Wanneer ik nu het keuzeveld kies wordt gevraagd naar het "Inkoopdeel"

Zie afbeeldingen.
 

Bijlagen

  • Afb1.jpg
    Afb1.jpg
    93,6 KB · Weergaven: 40
  • afb2.jpg
    afb2.jpg
    19,2 KB · Weergaven: 26
Zoals je uit het tweede plaatje kan zien, verwijst de criteriumregel rechtstreeks naar het formulier. En dat werkt prima zolang je niks verandert aan dat formulier. Zet je 'm op een ander formulier,dan klopt de verwijzing niet meer. Wat logisch is, want er hangt nu een formulier voor. En dat moet je dus aanpassen.

Het helpt als je complete formulieren in je db stopt, want dan hebben we dit soort problemen niet. Ik kan natuurlijk niet ruiken op welk hoofdformulier hij komt te staan :)
 
Helemaal gelukt.
Ik ben hardstikke blij met je hulp.

Mijn dank is groot
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan