dynamische kruistabel op rapport

Status
Niet open voor verdere reacties.

rebirth

Gebruiker
Lid geworden
17 jun 2008
Berichten
170
Ik ben bang dat ik nog voor een tweede maal vandaag hier even hulp zal moeten inroepen. Mijn probleem situeert zich deze maal bij een kruistabel die ik via een rapport wil gaan afdrukken. Deze kruistabel bevat echter bijna iedere keer andere kolomkoppen en tevens regelmatig een ander aantal kolommen. Is er een manier waarop ik dit in een rapport kan krijgen op een mooie en deftige manier?

Tevens moet er van iedere kolom een totaal weergegeven worden.

De kruistabel bevat telkens rijen met datums, en dan verschillende kolommen met medewerkersnamen en hun uren. Mocht het nodig zijn, kan ik hier gerust even een database plaatsen met wat voorbeeldgegevens.
 
Kijk eens in dit draadje, daar speelt exact dezelfde discussie.
 
Die had ik met mijn zoekactie niet gevonden. Wel een ander draadje, waarin je de topicstarter verwijst naar een engelse website, maar daar kon ik niet echt wijs uitgeraken. Ik da deze eens van naderbij bekijken. Alvast dank.

edit: net even het topic doorgenomen. Maar volgens mij stopt het topic net waar mijn probleem begint, of vergis ik me daar? Want ik kan het ganse topic toch niet 100% goed volgen.
 
Laatst bewerkt:
Ik heb zojuist in de andere draad het werkende rapport gepost. De werkwijze van het formulier zul je niet nodig hebben, omdat je alle velden uit je kruistabel gaat gebruiken vermoed ik. Wel moet je het rapport nog aanpassen, omdat de <Recordbron> bij jou anders zal heten. Die naam moet je dan ook in de VBA vervangen, want daar staat uiteraard ook een verwijzing naar de bron van het rapport. Bovendien begint de code met het uitlezen vanaf het tweede veld; het eerste veld is de vaste kop. Heb je meer rijkoppen gedefinieerd, dan moet je die ook nog op het rapport zetten, en de beginwaarde van de eerste VBA lus aanpassen. Kom je er niet uit: maak een voorbeeldje...
 
Ik ben er intussen in gelukt om wel het eerste veldje er op te krijgen. Maar ik zit wel nog steeds met die IBx en ICx koppen op m'n rapport, en die krijg ik niet meteen weg, zonder de boel te verknoeien :rolleyes:

Toch maar even een bijlage aan toevoegen ;)
 

Bijlagen

Laatst bewerkt:
Je had de eigenschappen en functie maar gedeeltelijk overgenomen. En dan werkt het uiteraard niet. In het voorbeeld is het aangepast.

1) de tekstveld en labelnamen zijn aangepast (vA1 t/m vA15)
2) de eigenschap van de velden en labels is ingesteld op Niet zichtbaar
3) de code maakt de velden met inhoud nu zichtbaar.
 

Bijlagen

Alvast hartelijk dank Michel, dat was inderdaad wat ik zocht. Zonder je hulp was ik er niet uitgeraakt, vrees ik.

Nog even een aanvullend vraagje, is het bij een dergelijk rapport mogelijk om per rij en per kolom een totaal te laten berekenen? Ik heb dit even proberen te doen met Som, maar (zoals ik wel dacht) dit werkt niet echt.
 
Een totaal per rij is vrij simpel, want die maak je in de kruistabel. Daarbij maak je dan een extra kolom, die je altijd zichtbaar maakt. In een van de voorbeelden heb ik die flexibel gemaakt, zodat hij netjes aansluit achter de laatste gevulde kolom. Je kunt hem ook aan het begin zetten, zodat hij als eerste op het rapport staat. In dat geval schuiven de variabele kolommen op, en moet je dus de code een beetje aanpassen. Kijk maar eens of je daar zelf uitkomt ;) Hint: je moet een 1 veranderen in een 2.
Totalen per kolom maak je in de detail voettekst van het rapport. =Som(kolom) is dan de formule. Uiteraard wil je die ook flexibel hebben? In dat geval zul je ofwel iets met VBA moeten doen, of met Voorwaardelijke opmaak. De laatste variant is het makkelijkst. Een formule die controleert of de som > 0 zou voldoende moeten zijn.
 
Wanneer ik de som van de kolommen probeer te maken, krijg ik een foutmelding, namelijk deze;

De Microsoft Office Access-database-engine kan [vA1] niet herkennen als geldige veldnaam of expressie.

Waar zou mijn fout precies kunnen zitten? Het is toch het totaal van die velden die ik moet maken? Of heb ik dit op de verkeerde plaats (of manier) gedaan?

De totalen maken van de rijen is me overigens wel al gelukt. Enkel is hier de flexibele kolom nog niet meteen gelukt, maar daar werk ik nog aan :)
 
Een rijtotaal is inderdaad wat lastiger, heb ik ook gemerkt. Dat komt vermoedelijk omdat de tekstvelden standaard geen rowsource hebben, en bij het openen van het rapport alle gegevens worden gecontroleerd en berekend. Ik krijg althans dezelfde foutmelding. In dat geval moet het veld vermoedelijk via VBA worden berekend/toegewezen. Zoek ik nog uit!
 
OctaFish, zou u reeds een idee hebben hoe dit opgelost zou kunnen worden?
 
Een idee wel, maar de oplossing nog niet...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan