Probleem met keuzerondjes

Status
Niet open voor verdere reacties.

Gaitie

Gebruiker
Lid geworden
20 mei 2012
Berichten
12
Beste Leden,

Ik ben bezig voor mij zelf een projecten-database op te zetten in MS access 2010.
Maar zo af en toe loop ik tegen zaken aan en ik hoop dat jullie daar mij er mee kunnen helpen.

Ik krijg het niet voor elkaar om te kunnen 'schakelen' tussen 8 verschillende keuzerondjes in het zelfde kader op de manier zoals het bedoeld is of zoals ik het graag zou willen.


Dit was ik van plan:

De standaard waarde (1, 2, 3,...) omzetten naar tekst en daar wilde ik code voor gaan gebruiken namelijk deze;

Code:
Private Sub KaderStatus_AfterUpdate()

Select Case KaderStatus

Case Is = 1
    Me.StatusProject.Value = "Ontwerp"
Case Is = 2
    Me.StatusProject.Value = "Hold (wachten op antwoorden)"
Case Is = 3
    Me.StatusProject.Value = "Ter goedkeuring"
Case Is = 4
    Me.StatusProject.Value = "Productie"
Case Is = 5
    Me.StatusProject.Value = "Uitvoering"
Case Is = 6
    Me.StatusProject.Value = "Uitvoering ombouw"
Case Is = 7
    Me.StatusProject.Value = "Concept revisie"
Case Is = 8
    Me.StatusProject.Value = "Revisie"

End Select

End Sub

Maar dit is het resultaat: Plaatje.jpg

De waarde die ik meegeef word netjes opgeslagen in een tabel (opgeslagen als tekst) en zoals je ziet in het plaatje word kan ik deze ook weer opvragen (rode pijl).
Maar de keuzerondjes worden 'blanco'(?) en ik kan alleen de waarde wijzigen als ik op de bijschrift-tekst klik.
Ter informatie: ik heb het zelfde ook geprobeerd met checkboxen, maar die worden allemaal 'blauw'...

Heeft iemand een misschien oplossing?

Alvast bedankt.
 
Je maakt niet goed duidelijk of de functie nu wel of niet werkt; in de afbeelding zie ik de tekst "Ontwerp" in het tekstvak, dus ik neem aan dat je op optie 1 hebt geklikt. En ik krijg het vermoeden dat je in je tabel alleen de tekst van het tekstvak StatusProject op slaat, en niet de waarde van het groepsvak. Zou je die namelijk ook opslaan, dan is het simpel om dat weer terug te lezen naar het groepsvak. Nu zou je (bij de gebeurtenis <Bij Aanwijzen>) de tekst uit het tekstvak weer (op dezelfde manier als je nu doet) moeten omzetten naar cijfers, en die aan het groepsvak koppelen.
Persoonlijk vind ik dit een veel te ingewikkelde manier van werken, die ook verkeerd gebruik maakt van een groepsvak. Maar dat is mijn mening :) Hoe zou ik het oplossen? Met een simpele keuzelijst, waarin je de 8 opties toont en aanklikt. Die keuzelijst kun je simpel koppelen aan het tabelveld, en daar hoef je dus nooit dit soort vertaalslagen op los te laten. En het neemt veel minder plek in beslag.
 
Beste OctaFish,

Bedankt voor je reactie.

Het ziet er inderdaad een beetje omslachtig uit allemaal dat ben ik wel met je eens, maar mijn voorkeur gaat toch uit naar een soort gelijke oplossing. Ik heb in het verleden een keuze menu gehad maar ik wilde mijn formulier naar een hoger nivo tillen (grafisch althans ;)). Alles 'werkt' in zo verre dat ik wel de waarde kan veranderen als ik de bijschrifttekst aanklik, maar het het keuzerondje blijft grijs... Eigenlijk begrijp ik niet zo goed hoe alle keuzerondjes in een het zelfde kader naar elkaar 'kijken'. Het lijkt er op als of zodra ik een keuze maak, het rondje een fractie van een seconde verkleurd om vervolgens weer grijs te worden. Het klopt toch dat access andere keuzerondjes direct uitgrijsd zodra er een keuze is gemaakt? Maar nu jouw voorstel/advies. Als ik dus de waarde 'as is' laat wegschrijven (dus 1, 2, 3...) in een tabel om vervolgens later deze weer te geven in een tekstvak maar dan van cijfers omzetten naar teksten dus; 1 wordt dan Ontwerp en 2 wordt dan Hold.... enz. Hoe pak ik dat aan? En kan ik dit over meerdere formulieren uitvoeren?

Alvast bedankt
 
Ik vermoed dat je toch iets verkeerd doet, want als je in een groepsvak iets aanklikt, wordt die waarde (uiteraard zolang het formulier openstaat in het formulier bij een niet-gebonden tekstvak) echt wel geselecteerd. En dus niet grijs. Maar bovendien ben ik het absoluut niet eens met je uitgangspunt voor een gruwelijk ingewikkelde oplossing 'om het naar een hoger grafisch niveau te tillen'. Een keuzelijst kun je zodanig opmaken dat hij er net zo uitziet als je opties lijst, maar dan zonder de balletjes. Elke ontwerper die het smoel laat prevaleren boven de functionaliteit, is in mijn ogen verkeerd bezig. Maar in jouw geval zou ik dus getallen opslaan, en die vertalen naar tekst.
 
Oke, ik zocht de grenzen op van de mogelijkheden die keuzerondjes kunnen bieden en ik dacht dat ik met 'Case' een aardige oplossing had gevonden :confused: .

Ik durf het bijna niet te vragen, maar hoe leg ik dan aan een tekstveld uit dat 1 eigenlijk "Ontwerp" betekend? Met de if-else functie misschien? Of kan ik die waarde anders aanroepen? (Mijn access/vba-kennis is niet zo heel uitgebreid... :o)
 
Wat ik dus ook niet snap is wat de meerwaarde is van dat tekstveld... Als je een Groepsvak maakt met al je opties dat je koppelt aan een tabelveld, dan wordt bij het bladeren door je formulier bij elk record de juiste keuze geactiveerd. Dus als je <Ter goedkeuring> aanklikt, dan is die actief. Wat is dan nog de meerwaarde om de tekst "Ter goedkeuring" ook nog eens in een apart tekstveld te zetten? Dat doe je met de overige velden toch ook niet?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan