selectie op (meerdere) keuzerondje(s)

Status
Niet open voor verdere reacties.

Friend

Verenigingslid
Lid geworden
31 jan 2009
Berichten
1.137
Beste forummers,

Ik probeer in een query, qNaw een selectie te maken op grond van keuzerondjes op het frmNaw.

Er zijn 2 mogelijkheden : geen leiding en leiding.

Ze kunnen apart gekozen worden maar moeten ook allebei gekozen kunnen worden in de query.

Ik krijg het niet voor elkaar.

Heeft een van jullie de oplossing hiervoor?

Alvast hartelijk dank.

Friend


Bekijk bijlage keuzerondje.rar
 
Philiep, dank voor je reactie :thumb:

Jammer ik vond de keuzerondjes mooier :(

Heb het aangepast alleen het lukt mij niet om in de query de juiste criteria neer te zetten om leiding en geen leiding apart te kiezen of om ze allebei te kiezen.

Heb je daar nog een oplossing voor?

Friend
 

Bijlagen

Je mag natuurlijk op dotchie wachten, maar wellicht heb je wat aan mijn versie :).
De opmerking van dotchie doet eigenlijk niet ter zake, want maakt voor je probleem niets uit. Het maakt namelijk helemaal niet uit of je keuzerondjes of selectievakjes gebruikt. Jouw opmerking
Jammer ik vond de keuzerondjes mooier :(
vind ik daarentegen wél een linke, want die geeft aan dat jij ontwerpt op basis van wat jíj mooi vindt, en niet wat de algemene consensus is. En die is dus echt anders: elke computergebruiker weet dat een blok selectievakjes inhoudt dat je meerdere opties kunt selecteren, en een groep keuzerondjes houdt dan in dat je maar één optie mag kiezen. Door die betekenis bij het groot vuil te zetten (keuzerondjes als meervoudige selectie) breng je de gebruikers dus doelbewust op een dwaalspoor, en haal je de functionaliteit en het gebruikersgemak van je db onderuit. En welk ander doel dient dit dan het kietelen van het eigen ego? Een goede ontwerper zet zijn eigen persoonlijke voorkeuren altijd op de tweede plaats, en het gebruiksgemak van de gebruiker voorop.

Zo, dat was het moraliserende deel :). Nu de oplossing. Je kunt, als je dat wilt, natuurlijk wel degelijk gebruik maken van keuzerondjes. Zoals ik hierboven al zei, staan keuzerondjes maar één gekozen optie toe. Dat is overzichtelijk voor de gebruiker, en makkelijk ook nog eens, want hij/zij hoeft maar één optie aan te klikken. Hoe doe je dat dus in jouw voorbeeld?
Stap 1.
Met een Groepsvak. Als je die maakt met de wizard, dan zet je daarin 3 opties:
PHP:
1. Leidinggevend
2. Niet-leidinggevend
3. Beide

Stap 2. Je rapport is nu gebaseerd op een vreemde query, die niet werkt. Hang daar gewoon de tabel tblNaw onder. Gooi, als je toch bezig bent, gelijk de knop op je formulier weg.

Stap 3.
En hier gebeurt het echte werk. Je hebt dus dat groepsvak (fraLeiding) gemaakt (met je keuzerondjes en de 3 opties) en nu wil je het rapport openen op basis van de keuze. Het groepsvak levert een waarde op als je op een rondje klikt. Die waarde moet je vertalen naar een filter waarmee je vervolgens het rapport opent. Dat doe je met een Select Case die je aan het groepsvak hangt. Die code ziet er dan zo uit:
Code:
Private Sub fraLeiding_Click()
Dim sFilter
    Select Case Me.fraLeiding.Value
        Case 1
            sFilter = "[Leiding]=True"
        Case 2
            sFilter = "[Leiding]=False"
        Case 3
            sFilter = ""
    End Select
    If sFilter = "" Then
        DoCmd.OpenReport "rptNaw", acViewPreview
    Else
        DoCmd.OpenReport "rptNaw", acViewPreview, , sFilter
    End If
End Sub
Hiermee open je dus met één klik je rapport, en dat is heel wat minder dan wat je nu hebt gebouwd :).
 
Michel,

Hartelijk dank voor je reactie :thumb:

Tja het moraliserende gedeelte daar kan ik natuurlijk niet omheen, dus we zullen die wijze raad maar weer aannemen.;)

Zelf nog nooit met een groepsvak gewerkt maar dat is het mooie we leren, dank zij jullie, altijd weer bij.

Een en ander gedaan en rechtstreeks gekoppeld aan tblNaw dat werkt inderdaad heel mooi, alleen ik loop dan tegen
het volgende probleem aan : hoe kan ik mijn jaar selectie nog verwerken daar dit niet meer via de qNaw gaat??

Nieuw bestandje bijgevoegd.

Kan je mij zeggen hoe dit nu op te lossen?

Thanks

Friend
 

Bijlagen

Ik heb je tweede voorbeeld even links laten liggen en ben in de eerste versie verder gegaan, want daar had ik de tabel Jaar al verwijderd (wat moet je daar in hemelsnaam mee?) en het tekstveld [Jaar] omgezet naar een numeriek veld (waarom doen mensen dat toch? Sinds wanneer zijn jaartallen 'tekst' en geen getal?). En de knop weer in ere hersteld, want met meerdere voorwaarden is het handiger om een knop te gebruiken. Die krijgt dan deze code:
Code:
Private Sub rptNaw_openen_Click()
Dim sFilter
    Select Case Me.fraLeiding.Value
        Case 1
            sFilter = "[Leiding]=True"
        Case 2
            sFilter = "[Leiding]=False"
        Case 3
            sFilter = ""
    End Select
    If Me.kzlJaar <> "" Then
        If sFilter <> "" Then sFilter = sFilter & " AND "
        sFilter = sFilter & "[jaar] = " & Me.kzlJaar
    End If
    If sFilter = "" Then
        DoCmd.OpenReport "rptNaw", acViewPreview
    Else
        DoCmd.OpenReport "rptNaw", acViewPreview, , sFilter
    End If
End Sub
 
Michel,

Geweldig dit is het helemaal :D

Ja je hebt gelijk jaartal is een numeriek veld.

want daar had ik de tabel Jaar al verwijderd (wat moet je daar in hemelsnaam mee?)

In de databese zitten meerdere deelnemersjaren. Dus om alleen 2017 te krijgen zal ik toch het veld jaartal moeten gebruiken?

Hartelijk dank voor je hulp :thumb: en de oplossing van mijn probleem het was weer een genoegen :D

Friend
 
Laatst bewerkt:
Je slaat neem ik aan datums op waarop je (trans)acties vastlegt. Dan heb je ook het jaar. Ik heb in 30 jaar ontwerpen nog nooit een apart veld nodig gehad voor jaartallen... En dan bedoel ik ook NOOIT.
 
Michel,

Interessante discussie, wat ik doe is ik sla evenementen op die jaarlijks terugkomen. Door jouw geprikkeld om iets te leren heb ik even de tabel van de evenementen opnieuw bekeken. Hoe kan ik het jaartal veld niet nodig hebben? De data dit ik vastleg zijn inschrijfdatum, bevestigingsdatum, betalingsdatum. Deze kunnen echter alle drie jaar overschrijdend zijn dus daar kan ik het volgens mij niet mee verwezenlijken. Daarom gebruik ik dus een veld (evenement)jaar.
Ik weet je hebt niet een voorbeeld van mijn database. Maar hoe zou jij dit dan oplossen of wat zie ik over het hoofd?

Friend
 
Een evenement, tenzij dat exact een heel jaar duurt, heeft een begin- en een einddatum. Ga je zeggen dat je die datums niet vastlegt? Lijkt mij de eerste vereiste.... Al was het maar om rapportages te kunnen maken over het aantal evenementen per maand. Het lijkt mij ook net zo simpel om een datum voor een evenement in te vullen als een jaartal, dus tijdwinst boek je niet met je jaartallen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan