Caption/bijschrift van option button afdrukken op rapport?

Status
Niet open voor verdere reacties.

StijnVL

Gebruiker
Lid geworden
9 mei 2005
Berichten
43
Hallo allemaal,


ik zit met een vraag, en kan de oplossing maar niet vinden op internet... Jullie zijn mijn laatste hoop. :)

Ik heb een formulier met 10 option buttons (in één frame met naam FrameGroep). Nu wil ik op een rapport de waarde afdrukken, van de gekozen option button... Iemand een idee hoe ik dit kan doen?? Als ik op 't rapport zet "= Formulieren!Formulier1!FrameGroep",dan wordt daar de waarde (het nummer) van de gekozen option butten geplaatst. Ik wil dus niet die waarde zien, maar het bijhorende bijschrift...

Iemand een idee, pls? (Hopelijk is mijn uitleg duidelijk genoeg... :confused:)


Alvast bedankt,
Stijn.
 
Controls-collectie

Als je er een functie van maakt in vba, dan kun je gebruik maken van de collectie controls. Van de wisselknoppen in deze collectie kun je dan zowel de optionvalue opvragen als de caption. Je zou dan iets krijgen als:
Code:
function Welke()
  for each ctl in Formulieren!Formulier1!FrameGroep.Controls
    if ctl.optionvalue=Formulieren!Formulier1!FrameGroep then
      Welke=ctl.Caption
    end if
  next ctl
end function
Er wordt hier door alle controls gelopen die binnen het frame zitten en van elke wordt de waarde vergeleken met de waarde van het frame zelf. Als er een match wordt gevonden, dan wordt het bijschrift van deze control teruggegeven als resultaat van de functie.
 
Laatst bewerkt:
De bij een control behorende label, kun je opvragen met Controls(0)
Geef je optionbuttons een naam die afhangt van de waarde, b.v. O6 voor de optionbutton met waarde 6. Wanneer deze optie is aangeklikt heeft het optieframe de waarde 6
De caption van het bijbehorende label is dan:
Me("O" & Me!NaamVanFrame).Controls(0).Caption
In het rapport wordt het dan
=Formulieren!frmNaamFormulier("O" & Formulieren!frmNaamFormulier!NaamVanFrame).Controls(0).Caption
 
Laatst bewerkt:
Hallo Harry en Sesam,


alvast bedankt voor jullie reactie. 't Is mij toch nog niet allemaal duidelijk hoor. Nuja, ik denk dat ik m'n probleem niet echt duidelijk heb omschreven...

Ik heb geprobeerd jullie code te begrijpen: (DIY-Accesser, and always learning... :))
@Sesam: als ik het goed voorheb, vergelijkt jouw functie de waarde van de caption van een frame, met de waarde van de ingesloten option buttons, correct? Dus, als het frame dezelfde naam (caption) heeft als de geselecteerde option button (die in 't frame staat), dan wordt die waarde uitgegeven... Of heb ik dit mis?

@Harry46: de code "=Formulieren!frmNaamFormulier!NaamVanFrame.Controls(0).Caption" geeft jouw code niet enkel de waarde van de caption van het frame uit? Als ik die code in m'n rapport zet, zet die enkel de waarde van de caption van het frame... (de "titel" ervan dus)...



Volgens mij is het eigenlijk simpel (dat hoop ik toch. ;))
In een formulier heb ik een frame (met naam "FrameGroep") met daarin 6 option buttons. De labelnamen van de keuzerondjes zijn: A, B, C, D, E en F. De bijhorende waarden van de keuzerondjes zijn respectievelijk: 1, 2, 3, 4, 5 en 6. Wanneer ik in een rapport de code "Forms![Formulier1]![FrameGroep] " als Besturingselementbron van een tekstvak invul, staat er in m'n rapport enkel de Waarde (dus 1, 2, 3,...) van de geselecteerde option button...

Hoe kan ik ervoor zorgen dat niet de Waarde, maar de Labelnaam van het geselecteerde keuzerondje verschijnt?? :rolleyes:







P.S.: Hetzelfde probleem heb ik eigenlijk met de gegevens uit een Listbox; via gelijkaardige code krijg ik op m'n rapport alleen de Waarde van de selectie uit de listbox... Dezelfde fout dus... :o
 
Laatst bewerkt:
Voorbeeld

Hier is een voorbeeld van beide hierboven voorgestelde methodes. De database opent met een formulier, hier staan enkele wisselknoppen in een kader. Met de knop rapport kun je het voorbeeld rapport openen waar de resultaten op staan. Op het rapport staat eerst het volgnummer en daarna de waarde van het kader zelf. Dit is de waarde die jij dus niet wilt zien. Daarna komt het opschrift van de gekozen wisselknop via de functie die ik had voorgesteld. Deze functie vergelijkt de waarde van het kader (en dus niet het bijschrift van het kader) met de optiewaardes van elke wisselknop totdat de juiste gevonden is en neemt daar dan het opschrift van. Als laatste de methode van Harrie46, hiervoor is het nodig dat de wisselknoppen logische namen krijgen, een vaste tekst met het cijfer van de optiewaarde erachter geplakt. Als je dat doet, dan kun je rechtstreeks naar de bedoelde wisselknop verwijzen om het bijbehorende opschrift af te leiden.
 

Bijlagen

Stijn heeft het over "option buttons", dat zijn "rondjes met een label". Vandaar mijn voorstel om naar het bijbehorende label te gaan
In het voorbeeld van Sesam zijn het "toggle buttons", de caption daarvan kun je idd meteen ophalen.
 
Een nog simpeler oplossing kan de volgende zijn.
- Vervang de option buttons door een combobox
- Maak een nieuwe tabel met een ID (autonummer) en een tekst veld. Plaats de opties in deze tabel.

Je kunt de tabel nu gebruiken om de combobox te vullen.
Je linkt de tabel naar het veld waar nu de waarde van de option group in komt.
Vervolgens kun je de tabel meelinken in de query waarin je de gegevens voor je rapport ophaald.

Veel eenvoudiger te onderhouden ook.
 
Amai, wat een service! :thumb::thumb::thumb:

Bedankt allemaal; met die voorbeeldbestandjes moet het zéker lukken... Ik heb weer wat bijgeleerd. :)

Greetz!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan