Veldweergave bij een meerkeuzeveld

Status
Niet open voor verdere reacties.

wimgeerling

Gebruiker
Lid geworden
6 feb 2016
Berichten
5
Wie kan mij helpen met het volgende probleem;

Ik heb een tabel gemaakt met daarin een keuzeveld waar d.m.v. meerdere waarden verschillende dagdelen kunnen worden aangeklikt. Bijvoorbeeld: maandagmorgen, maandagmiddag en maandagavond. Zo heb ik er alle werkdagen van de week in staan. Dat aanklikken gaat prima en de waarden worden ook netjes opgeslagen in dat keuzeveld.

Nu wil ik in een rapport een rooster printen waarin een blokje (■) wordt afgedrukt indien een bepaald dagdeel is aangeklikt. Daarvoor gebruik ik de volgende formule in het betreffende veld:
=IIf([Dagdeel] = "Maandagmiddag";"■";""). Dat werkt echter alleen wanneer naast de maandagmiddag geen andere dagdelen zijn aangeklikt. Wanneer ik bijvoorbeeld de maandagmorgen én maandagmiddag aanklik, geeft het veld een blanco waarde in het rapport. Ik zoek dus eigenlijk naar een formule die kijkt of een deel van het veld de waarde "Maandagmiddag" bevat

Wie weet raad? Alvast bedankt voor de hulp!

Hartelijke groet,
Wim Geerling
 
Ik snap weinig van je opzet, en dan wordt helpen erg lastig. Zo zie ik de noodzaak van die keuzelijst niet; ik zou ofwel de keuzelijst beperken tot Ochtend, Middag etc, ofwel (mijn voorkeur) niet eens gebruiken, maar de start- en eindtijden vastleggen. Daar leid je tenslotte de werkblokken uit af.
Daarnaast zou ik de Iif vervangen door een Switch formule, die is te beheersen. Jouw Iif bevat teveel elementen om goed te nesten.
 
Beste Octafish,
Allereerst bedankt voor jouw reactie, fijn dat je zo snel hebt willen meedenken.

Ik zal proberen uit te leggen wat ik bedoel:

Ik heb een tabel waarin van vrijwilligers staat aangegeven wanneer ze aanwezig zijn. Dat doe ik nu d.m.v. vijftien aparte aanklikvelden (MaMo, MaMi, MaAv, DiMo, DiMi, DiAv enzovoort).

In het rapport vraag ik dan per veld door middel van een formule op of het veld is aangeklikt. Deze formule is "=IIf([MaMo]=Waar;"■";""), dus als het veld is aangeklikt en dus de waarde "waar "heeft verschijnt er dan een blokje in het rapport. Knipsel.PNG. Dat werkt prima, zoals ook te zien op bijgestuurde afbeelding.

Nu heb ik een nieuw veld gemaakt, waarin d.m.v. meerkeuze opties deze vijftien dagdelen kunnen worden aangeklikt. In plaats van de oude vijftien "losse" velden wil ik met het nieuwe veld hetzelfde resultaat bereiken in het rapport, dus als de waarde maandagmorgen is aangeklikt moet in het rapport een blokje worden afgedrukt. Dat is me tot nu toe niet gelukt en ik dus op zoek naar een oplossing.

Hartelijke groet,
Wim Geerling
Om het aantal velden te beperken dacht ik
 
Om het aantal velden te beperken dacht ik
Je wilt je db normaliseren, en dat is een prima gedachte, want dat had mijn insteek ook geweest. Al zou ik daar een gekoppelde tabel voor gebruiken en geen veld met meervoudige waarden. Dat is namelijk behoorlijk lastig om goed uit te lezen. Bovendien is je database dan ook goed genormaliseerd. Nu blijft het een gekunstelde constructie en maak je het jezelf nodeloos ingewikkeld.
 
hallo Wim,

in bijlage een ontwerpje voor je probleem ?!?!

weet niet of het je helpt, indien niet: geen man overboord :)

voor de invoer van de uren kan je zowel de knop UREN-REGISTRATIE (in bulk)
gebruiken, als 1 van de knoppen WEEKNUMMERS of MEDEWERKERS;
in het laatste geval, moet je dan nog wel even klikken op het icoontje (knop) vooraan
iedere record - je krijgt dan uitsluitend de uren-registraties te zien van dat weeknummer
of die medewerker.

de lay-out van het rapport is momenteel erg rudimentair, maar toont toch duidelijk het resultaat.

ik herhaal: indien naast de kwestie / niet dienstig / verkeerde insteekBekijk bijlage Nieuwe gecomprimeerde (gezipte) map.zip: gooi het in de prullenmand !!

mvg,
Duke of Earl
 
Hallo OctaFisch en Duke of Earl,

Superfijn dat jullie beiden zo meedenken!

De tip van OctaFish neem ik inderdaad over, ik zet de dagdelen in een aparte tabel en koppel deze tabel dan aan het invoerscherm. De eerdere opmerking over het gebruik van de switch-formule kon ik eerst niet plaatsen, maar met het voorbeeld van Duke of Earl snap ik de bedoeling. Duke, geweldig dat je het bestand zo voor me in elkaar in elkaar hebt gezet, ik begrijp dat je door het gebruik van een groepsvak in het invoerscherm uiteindelijk maar één waarde in het veld vastlegt, afhankelijk van de beschikbaarheid van de medewerker.

Eigenwijs als ik ben wil ik toch graag vasthouden aan het keuzeveld met meerdere waarden (die dan vanaf nu uit een aparte tabel geladen worden). Dan nog blijft het probleem bestaan, want ik ben er nog steeds niet achter hoe ik zo'n veld goed kan uitlezen om vast te stellen welke waarden nu precies gekozen zijn.

Mocht één van jullie DE oplossing hebben dan hoor ik dat uiteraard graag! Nogmaals bedankt voor jullie medewerking.

Hartelijke groet,
Wim
 
Eigenwijs als ik ben wil ik toch graag vasthouden aan het keuzeveld met meerdere waarden (die dan vanaf nu uit een aparte tabel geladen worden). Dan nog blijft het probleem bestaan,
Ik word altijd wel gelukkig als iemand zelf zijn problemen kan herkennen. En ook waaróm dat probleem er is. Nu wachten we dus nog even op de stap dat je beseft dat er maar één oplossing is: erkennen dat je een probleem hebt, en dat eigenwijs zijn in dit geval geen voordeel is. En zeker niet de oplossing :).
 
Tja, een mens is nooit te oud om te leren. Wijze woorden komen natuurlijk altijd van pas! Ik zal er nog eens goed over nadenken!!!!! :thumb:
 
Zou ik zeker doen. Ik heb ook even naar het voorbeeldje van DoE gekeken, maar daar zou ik, als ik jou was, niet op voortborduren, dat lijkt mij een heilloze weg. Ik zou 'm in ieder geval zo niet bouwen.
 
een nieuwe poging :) - zie bijlage

Bekijk bijlage WimHeerlingGecomprimeerdeMap.zip

is heel wat overzichtelijker ?!?! en eenvoudiger ?!?! dan mijn vorige poging.

heb wat testgegevens ingevoerd (voornamelijk met datums tussen ma 8-2 en vr 12-2)
als je dus een wekelijkse lijst wil uitprinten, geef dan die datums op als start- en einddatum
heb de lay-out van de lijst wat gewijzigd (verticaal ipv horizontaal), voor mijn eigen gemak :)

indien niet goed / fout ... ---> prullenbak

mvg,
Duke of Earl
 
Een database normaliseren blijft moeilijk, zo te zien :)
 
ik zou ofwel de keuzelijst beperken tot Ochtend, Middag etc, ofwel (mijn voorkeur) niet eens gebruiken, maar de start- en eindtijden vastleggen. Daar leid je tenslotte de werkblokken uit af.
@Octafish: denk (en hoop) dat je hierop doelt (normaliseren van de DB) ?!?!

mijn insteek was: 1 code invoeren gaat sneller dan een starttijd en een eindtijd.
daarbij komt: voor iemand die, de zelfde dag, geen opeenvolgende periodes komt (i.c. morgen en avond) moet je 2 x een start- en eindtijd invoeren
overtuig me van mijn ongelijk ?!?! ;)

mvg,
Duke of Earl
 
Ja, dat bedoel ik daarmee. Hier ben ik het overigens niet mee eens:
mijn insteek was: 1 code invoeren gaat sneller dan een starttijd en een eindtijd.
Ik zou een knop gebruiken om de begin- en eindtijd vast te leggen. Als jij mij kan overtuigen dat het openen van een keuzelijst en het kiezen van één van de opties sneller is (laat staan dat de opgeslagen informatie nauwkeurig) is, dan mag dat uiteraard :)
Overigens denk ik niet dat mensen een ochtend én een avond werken en in de tussentijd de pleiterik maken....
 
@Octafish,

je krijgt uiteindelijk volmondig gelijk van mij (na enige reflectie ;))

mvg,
Duke of Earl
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan