combineren van twee aparte tabellen voor een rapport

Status
Niet open voor verdere reacties.

Deltronic

Nieuwe gebruiker
Lid geworden
16 jan 2013
Berichten
4
Ik wens een rapport te maken dat gegevens uit twee tabellen combineert.

De tabellen zijn een koppeling naar een externe bron en kunnen dus niet gewijzigd worden.

Tabel1 heeft als inhoud :
Id
selectieref
Code 1
Aantal
(deze tabel1 is gelinkt aan een aparte tabel waaruit ik op basis van code1 een veld met code2 en omschrijving kan halen)

Tabel2 heeft als inhoud :
Id
selectieref
Code1
Code2
Omschrijving
Aantal
Kostprijs


Mijn rapport zou ik er zo willen laten uitzien :
Code1 - code2 - omschrijving - aantal - kostprijs

Enkel de gegevens voor één bepaalde selectieref moet gebruikt worden (parameter in query veronderstel ik ?) Alle gegevens uit tabel1 en tabel2 die voldoen aan de selectieref moeten getoond worden. Bij de records uit tabel1 moet het rapportveld kostprijs leeg blijven.
Ik lijk er voorlopig niet uit te raken. Heeft er iemand misschien een tip ?
 
Toch lijkt het mij een simpel rapport, dat je met een wizard een heel eind kunt maken. Al snap ik je niet helemaal;
Bij de records uit tabel1 moet het rapportveld kostprijs leeg blijven.
In Tabel1 zit helemaal geen veld Kostprijs, dus waar haal je dat vandaan? Maak een query op basis van je tabellen, en gebruik die als basis voor je rapport. Ik vermoed een één-op-veel relatie tussen Tabel1 en Tabel2 op basis van Code1, dus wellicht dat je nog wilt groeperen om Code1 om herhaling van die gegevens te voorkomen.
 
Tabel1 heeft idd geen kostprijs, dus moet op het rapport niets afgedrukt worden voor dat record.

Code1 is een veld dat in beide tabellen andere inhoud kan hebben. het referentieveld kan in beide tabellen gelijk zijn, maar ok in één van beide ontbreken.

het rapport zou er zo moeten uitzien :

(vooraf wordt er als parameter een selectieref opgegeven ; enkeld e gegevens die aan deze parameter voldoen worden opgenomen in het rapport)

eerste rapportregel :
tabel1:record1:veld"code1"
tabel1:record1:veld"code2"
tabel1:record1:veld"omschrijving"
tabel1:record1:veld"aantal"
<plaats voor kostprijs leeg>

tweede regel :

tabel1:record2:veld"code1"
tabel1:record2:veld"code2"
tabel1:record2:veld"omschrijving"
tabel1:record2:veld"aantal"

(dit voor alle records uit tabel 1 die aan de parameter voldoen)

vervolgens (in hetzelfde overzicht, zonder onderbreking :
tabel2:record1:veld"code1"
tabel2:record1:veld"code2"
tabel2:record1:veld"omschrijving"
tabel2:record1:veld"aantal"
tabel2:record1:veld"kostprijs"

en dit ook voor alle records die aan de parameter voldoen.

stuur mij anders maar een pm als het niet duidelijk moest zijn.
 
Ik zou eerder zeggen: maak er een voorbeeldje van, dan iedereen die dit forum leest er mee stoeien. Wat mij betreft: ik maak er steeds minder chocola van...
Tabel1 heeft idd geen kostprijsCode1 is een veld dat in beide tabellen andere inhoud kan hebben. het referentieveld kan in beide tabellen gelijk zijn, maar ok in één van beide ontbreken.
Dus je hebt een identiek veld (SelectieRef en/of Code1), waar niet dezelfde waarden in staan, en die niet gekoppeld zijn? Waar is dan het koppelveld in je tabellen?
En dan wil je ook nog in je doorlopende rapport slechts twee records zien van tabel1 en één record van tabel2?
Ik zou bijna zeggen: maak twee subrapporten, want dit kun je zo van zijn levensdagen niet in één detailsectie maken. Misschien nog met een interessante groepering, maar daar begin ik niet aan zonder voorbeeld.
 
Als ik er de tijd voor vind zal ik een voorbeeldje maken en eens uitzoeken hoe ik dat hier op zet.

de oplossing met de twee subrapportjes heb ik al.
 
Ik ben eruit geraakt.

Eerst heb ik een query gemaakt die de gegevens uit tabel1 en de aparte tabel samenvoegt op een zodanige wijze dat er een querytabel gevormd wordt die een zelfde aantal kolommen heeft als tabel2. Sommige daarvan zijn leeg, maar dat is geen probleem.

Dan het ik een UNION query in SQL gemaakt die Tabel1 en tabel2 samenzet.

problem solved. Eigenlijk veel simpeler dan ik dacht.

Toch bedankt OctaFish !
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan