Unieke Records

Status
Niet open voor verdere reacties.

marka

Gebruiker
Lid geworden
14 jul 2009
Berichten
333
Ik heb een query die gebruik maakt van 2 tabellen.

Nu zijn deze tabellen gelinkt

Code:
SELECT [H-Directie_HULP MAAND].Kostenplaats, [H-Directie_HULP MAAND].Grootboekrek, [H-Directie_HULP MAAND].[Omschrijving grootboekrek], Sum([H-Directie_HULP MAAND].[Bedrag Maand_H]) AS [Bedrag Maand], [H-Directie_HULP MAAND].[Budget Maand_H] AS [Budget Maand], Sum([H-Directie_Hulp2 CUMULATIEF].[Bedrag Cumulatief_H]) AS [Bedrag Cumulatief], [H-Directie_HULP MAAND].[Budget Cumulatief_H] AS [Budget Cumulatief], IIf([Budget Maand]=0,0,([Bedrag Maand]-NZ([Budget Maand]))/[Budget Maand]) AS [Afwijking Maand %], IIf([budget maand]=0,0,([Bedrag Cumulatief]-[Budget Cumulatief])/[Budget Cumulatief]) AS [Afwijking Cumulatief %]
FROM [H-Directie_HULP MAAND] INNER JOIN [H-Directie_Hulp2 CUMULATIEF] ON [H-Directie_HULP MAAND].Grootboekrek = [H-Directie_Hulp2 CUMULATIEF].Grootboekrek
GROUP BY [H-Directie_HULP MAAND].Kostenplaats, [H-Directie_HULP MAAND].Grootboekrek, [H-Directie_HULP MAAND].[Omschrijving grootboekrek], [H-Directie_HULP MAAND].[Budget Maand_H], [H-Directie_HULP MAAND].[Budget Cumulatief_H];

Ik wil alleen dat wanneer een groetboekrekening in "H-directie hulp_maand" voorkomt en niet in H-Directie_HULP2 Cumulatief hij wel wordt getoond en andersom. Eigenlijk zoek ik dus een manier om de standaard linkopties in access niet te hoeven gebruiken.
 
Als je op de linklijn tussen de twee tabellen dubbelklikt, heb je een drie opties: de eerste optie is de standaardinstelling, namelijk van beide tabellen alleen de overeenkomende records tonen. Met opties 2 en 3 kun je van één van de twee andere tabellen aangeven dat je alle records wilt zien, en van de andere tabel de gerelateerde records.
Uit jouw verhaal begrijp ik, dat je een combinatie wilt van 2 en 3, maar dat is helaas niet mogelijk; tenzij je de koppeling helemaal weghaalt... (maar dat wil je vast niet ;) ).
Ik zou dus eerst eens kijken of één van de twee varianten het gewenste resultaat oplevert.
 
Nee geen van de varianten levert het gewenste resultaat op. Is er een andere oplossing?
 
Ik zou natuurlijk de queries die eraan vooraf gaan toe kunnen voegen aan een tabel en die vervolgens selecteren via een query.
 
Je kunt nog proberen om twee Outer join queries te maken, dus met beide varianten, en vervolgens op basis van die twee een nieuwe Union query met Distinct, om te voorkomen dat je de records er dubbel in krijgt. Een oplossing met een tussentabel werkt wel, maar fixeert je gegevens. Met queries houd je de zaak in beweging..
 
Laatst bewerkt:
Een Union Query is een toevoegquery toch, dus eigenlijk dezelfde oplossing als ik noemde?

edit: Lees reactie nu pas beter. Hoe ga ik die queries precies in elkaar zetten heb er niet echt een idee bij!
 
Een Union is zeker geen toevoegquery. Je kunt er wel een toevoegquery op baseren, maar een Union is in beginsel gewoon een selectiequery. Je kunt hem alleen maken door de SQL in te typen, en je moet er voor zorgen dat de bronnen die je samenvoegt exact dezelfde layout hebben, qua aantal kolommen, en volgorde van de kolommen.

Als je dus van de basisquery twee Outer join queries maakt, die elk 'een andere kant opkijken' dan heb je in beginsel dus twee identieke queries. Daarmee is aan de eerste en tweede eis voldaan. Je krijgt dan iets als:

SELECT * FROM Tabel1
UNION
SELECT * FROM Tabel2

Vermoedelijk krijg je nu een samengestelde query met dubbele records, dus je hebt nog een nieuwe query nodig op basis van de Union query:

SELECT DISTINCT * FROM Tabel3
 
Laatst bewerkt:
Ohw ja ik heb er weleens een gemaakt schiet mij nu te binnen. Ik ga eens even kijken of het mij lukt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan