rapport vanuit 'gecombineerde' velden op basis van 'gekoppeld bestand'

Status
Niet open voor verdere reacties.

larpet

Gebruiker
Lid geworden
3 aug 2008
Berichten
7
Wie zou me op weg kunnen helpen met volgend probleem?

- bronbestand in Excel - gekoppeld in Access
- kolommen/velden: 'klant' - 'projectcode' - 'projectnaam' - 'uitvoerder1' - 'uitvoerder2' - 'uitvoerder3'

doel:
- rapport uit Access waarbij - per uitvoerder - 'zijn' projecten staan. (Dus ongeacht of de betreffende uitvoerder onder veld 1, 2 of 3 vermeld staat.)

Gewenst rapport:
UITVOERDER A
- klant - projectcode - projectnaam
- kl1 - pr1 - project1
- kl365 - pr34 - project34

UITVOERDER B
- klant - projectcode - projectnaam
- kl4 - pr15 - project15
- kl365 - pr34 - project34

UITVOERDER C
- klant - projectcode - projectnaam
- kl1 - pr1 - project1
- kl365 - pr34 - project34

N.B. in verband met meerdere 'aanleveraars' van de broninformatie is het belangrijk dat het Excelbestand 'leidend' blijft. (koppeling)

vrgr Larpet
 
Laatst bewerkt:
Ik zou een query maken waarin je alle informatie verzameld. Maak vervolgens op basis van die query het rapport.
 
'samenvoegen van de 'uitvoerders'

Ik zou een query maken waarin je alle informatie verzameld. Maak vervolgens op basis van die query het rapport.

Bedankt voor je reactie.
Echter één project kan 3 uitvoerders hebben; deze staan dan vermeld in de velden: 'uitvoerder1' 'uitvoerder2' 'uitvoerder3' .
(het 'bron'-Excelbestand wordt vanuit een andere applicatie gegenereerd; dus deze indeling wil/moet ik aanhouden)

De groepering moet dus plaatsvinden vanuit 3 velden (uitvoerder1, uv2, uv3) - met de normale werkwijze van rapporten groepeer ik op basis van één veld.

vrgr Larpet
 
Het is me niet helemaal duidelijk. Wil je dan de drie uitvoerders op 1 rapport hebben? Of is het een OF situatie (Rapport met uitvoerder 1 OF een rapport met Uitvoerder 2 enz enz).

In dat laatste geval zou je zelfs kunnen overwegen om 3 raporten te maken (beetje omslachtig maar goed).
 
Het is me niet helemaal duidelijk. Wil je dan de drie uitvoerders op 1 rapport hebben? Of is het een OF situatie (Rapport met uitvoerder 1 OF een rapport met Uitvoerder 2 enz enz).

In dat laatste geval zou je zelfs kunnen overwegen om 3 raporten te maken (beetje omslachtig maar goed).


Via aanpassing van de basisvraag heb geprobeerd wat duidelijker te zijn.
Het gaat dus om één rapport dat per uitvoerder de bij 'hem' horende projecten laat zien.

vrgr Larpet
 
Je hebt een koppeling tussen de projecten en welke uitvoerders eraan meewerken. Dat moet de basis zijn. Dan zal je een query moeten maken met daarin "projecten per uitvoerder".Waarin:
UITVOERDER klant projectcode projectnaam

groepeer vervolgens als eerste op uitvoerder, maak, indien gewenst, een 2e groepering op klant.
Je krijgt dan
UITVOERDER 1
klant 1 -
projectcode - projectnaam
klant 2 -
projectcode - projectnaam
 
Je hebt een koppeling tussen de projecten en welke uitvoerders eraan meewerken. Dat moet de basis zijn. Dan zal je een query moeten maken met daarin "projecten per uitvoerder".Waarin:
UITVOERDER klant projectcode projectnaam

groepeer vervolgens als eerste op uitvoerder, maak, indien gewenst, een 2e groepering op klant.
Je krijgt dan
UITVOERDER 1
klant 1 -
projectcode - projectnaam
klant 2 -
projectcode - projectnaam


Dank voor je suggestie .... maar ...., het lost naar mijn mening het knelpunt niet op:

doel: (zie oorspronkelijke vraag)
- rapport uit Access waarbij - per uitvoerder - 'zijn' projecten staan. (Dus ongeacht of de betreffende uitvoerder onder veld 1, 2 of 3 vermeld staat.)

Knelpunt is dat de groepering in een query of rapport simpel te maken is als álle uitvoerders in één veld staan (bijv. UV1).
De oplossing verwacht ik meer in een mogelijkheid die de velden UV1, UV2, en UV3 combineert (óf van de waarden in UV2 en UV3 'complete' records maakt en deze toevoegt).

vrgr Larpet
 
Je zou een aparte tabel kunnen aanmaken met kolommen:
Uitvoerder | Project

Vervolgens doe je eerste UV1 toevoegen aan de tabel dan UV2 enz

Daarop baseer je dan vervolgens je rapport.
Wil je het 'dynamisch' maken dan plaats je alle query's in een macro en laat je de macro (dus de meest recente gegevens ophalen) alvorens het rapport te maken. Vergeet niet om dan een query te maken die de inhoud van de tijdelijke tabel wist.

Ik heb exact deze constructie gebruikt om catalogi samen te stellen, werkt prima en erg snel.
 
accdb bestand

Stom stom, zoiets kan ook met een Union query. Deze dien je zelf handmatig aan te maken (kan niet met de wizard):
zie ook, hier heb ik zojuist een voorbeeldje van een union gepost.
http://www.helpmij.nl/forum/showthread.php?t=369122

Beste Floor,
Union bewerking lijkt me een interessante optie.
Via je link kom ik bij bestand "Verjaardagen.accdb" ; waarschijnlijk vanwege de extensie krijg ik dit niet tot iets bruikbaars; kun je aangeven wat ik fout doe.

vrgr Larpet
 
accdb is de exstensie voor access database's die zijn aangemaakt met access 2007. Als je Access 2007 niet hebt kun je daar niets mee. Is er iemand in je buurt de wel access 2007 heeft dan kan die er via een conversie een access 2003 bestand van maken. Vanavond kan ik je hier verder mee helpen.

mvg
Charles
 
accdb is de exstensie voor access database's die zijn aangemaakt met access 2007. Als je Access 2007 niet hebt kun je daar niets mee. Is er iemand in je buurt de wel access 2007 heeft dan kan die er via een conversie een access 2003 bestand van maken. Vanavond kan ik je hier verder mee helpen.

mvg
Charles

Charles,
Heel graag; ben benieuwd naar de opbouw vh betreffende bestand.
vrgr Larpet
 
Ik heb hem voor je geconverteerd en zal de query uitleggen:

Code:
SELECT Gezinsleden.Naam, Gezinsleden.Geboortedatum
FROM Gezinsleden
UNION SELECT Medewerkers.Naam, Medewerkers.Geboortedatum
FROM Medewerkers;

Uitleg:
in feite zijn dit 2 gewone select query's, alleen worden deze samengevoegd dmv de Union.
Wat je kan doen zijn 2 aparte select query's maken, kopier de SQL code van eentje, plak deze achter de andere (vergeet de ; niet weg te halen). En klaar.
 

Bijlagen

Geweldige oplossing!!

Ik heb hem voor je geconverteerd en zal de query uitleggen:

Code:
SELECT Gezinsleden.Naam, Gezinsleden.Geboortedatum
FROM Gezinsleden
UNION SELECT Medewerkers.Naam, Medewerkers.Geboortedatum
FROM Medewerkers;

Uitleg:
in feite zijn dit 2 gewone select query's, alleen worden deze samengevoegd dmv de Union.
Wat je kan doen zijn 2 aparte select query's maken, kopier de SQL code van eentje, plak deze achter de andere (vergeet de ; niet weg te halen). En klaar.

Beste Floor,
Op basis van je 'UNION' ben ik gaan uitproberen; volgens de eerste resultaten is dit exact de werkwijze waar ik naar op zoek was. Ga e.e.a in de komende dagen nog wat verder uitwerken; vooralsnog is m'n vraag opgelost. Geweldig bedankt voor je hulp!!
vrgr Larpet
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan