Rapport maken

Status
Niet open voor verdere reacties.

Jos1234

Gebruiker
Lid geworden
18 feb 2006
Berichten
137
Ik heb 4 tabellen, die aan elkaar gerelateerd zijn:
Tabel Dossiers, met als (belangrijkste) velden dossiernr (primaire sleutel), naam
Tabel Opmerkingen_dossiers, met als velden o.a. dossiernr (=relatie met "dossiers"), datum_opmerking, inhoud_opmerking (memoveld)
Tabel Rekeningen, met als velden o.a. rekeningnummer (primaire sleutel), dossiernr (=relatie met "dossiers"), datum_rekening, bedrag_rekening...
Tabel Opmerkingen_rekeningen, met als velden o.a. rekeningnummer (=relatie met "rekeningen"), datum_rek_opm, inhoud_rek_opm (memoveld)
Ik denk dat de structuur op deze manier OK is?

Hoe kan ik nu een rapport maken met volgende layout:
Dossiernaam
datum_opmerking, opmerking 1
datum_opmerking, opmerking 2 (aantal opmerkingen is onbeperkt)
...
rekeningnummer 1, (gevolgd door de bovengenoemde velden van de tabel "rekeningen") en hierachter (of eronder) de opmerking(en) betreffende die rekening (dus uit de tabel "opmerkingen_rekeningen")
rekeningnummer 2, ...
rekeningnummer 3, ... (aantal rekeningen & aantal opmerkingen ivm rekeningen is onbeperkt)

Bedankt

Jos
 
Maak om te beginnen een query waarin alle velden zitten die je wilt zien, inclusief alle tabellen die de volledige relatie vormen. Dus als je 4 tabellen aan elkaar hebt geknoopt met een één-op-veel relatie, en alleen uit de eerste en de vierde tabel velden nodig hebt, moet je toch de tussenliggende tabellen meenemen in de query. Anders zijn de tabellen niet gerelateerd en krijg je een Cartesisch product.
Op basis van die query maak je dan een rapport, waarbij je het veld Dossiernaam (of Dossiernr) als groepsveld gebruikt. Zo te zien wil je de rekeninggegevens apart zien, dus daar zou ik een subrapport voor maken, omdat je wel kunt onderverdelen op groepen onder het niveau Dossiernr, maar niet naast. En volgens mij is dat laatste wel het geval. En dan zou je dus een subrapport kunnen gebruiken dat je op basis van het Dossiernr koppelt aan het hoofdformulier.
 
Je hebt er geen rapport inzitten; ik zou eigenlijk wel willen zien wat je zelf gemaakt hebt.
 
Michel
ik heb nog niet geprobeerd om een rapport te maken. Ik struikel al bij de query: ik krijg 42 records (?) als ik de query laat lopen. Is dat normaal?
Jos
 
Dat mag jij zeggen :). Bereid je er overigens maar vast op voor dat ik in jouw voorbeeld alle opzoekvelden in de tabellen vervang door tekstvelden. Lees mijn cursus er maar op na waarom. Maar gebruik geen keuzelijsten in tabellen, tenzij je ze baseert op een lijst met waarden. En ik snap niet helemaal waarom je in de tabel [Dossiers] een Dossiernummer hebt, waarvan ik denk: da's een uniek en dus sleutelveld, en dat je dan een ander veld erbij zet voor de sleutel. Da's niet logisch. Maakt overigens voor de koppelingen verder niet uit als die verder kloppen. Je wilt een rapport op basis van Dossiernummer-Opmerkingen en Dossiernummer-Rekeningnummer. Dat zijn twee verschillende gegevenscombinaties, die je dus niet in één query moet stoppen. daarom zei ik ook dat je met een subrapport moest werken. Maar ik kijk wel even of ik snel iets kan maken.
 
Michel
Ik zit in de handleidingen nog maar in hoofdstuk 8. Ik herinner mij niet dat ik dat ergens al gelezen heb... Maar mijn geheugen laat me soms in de steek.
 
Laatst bewerkt door een moderator:
Ik heb het vast al eerder uitgelegd, al kan het best zijn dat ik me een beetje vergis en dat het er niet in staat. In ieder geval zeg ik het regelmatig in mijn antwoorden :). Maar ik heb alvast een opzetje gemaakt voor je rapport, met dus een subrapport voor de rekeningen. Kijk maar eens of dit in de buurt komt.
 

Bijlagen

Bedankt. nu kom ik weer een stapje verder.
Ik zat al fout met mijn query, blijkbaar. Ik had alle tabellen in dezelfde query gezet. Vandaar dat ik die 42 records kreeg, terwijl ik er veel minder verwachtte.
Dit begrijp ik nog steeds niet (uit je vorig antwoord): Maar gebruik geen keuzelijsten in tabellen...

Waarom niet?
Jos
 
In een tabel moet je te allen tijde kunnen zien wat er daadwerkelijk is opgeslagen. (al is dat een tic wellicht van mij). Wat voor anderen belangrijker is, is de reden dat je in queries niet meer kunt filteren op een tabelveld met een keuzelijst. Stel dat je in Verkopen een keuzelijst hebt gemaakt op basis van de Klantnaam. Je ziet dan in het veld [KlantID] de naam 'Jansen' in de query. Tot zover niks aan de hand. Nu wil je de query filteren op klant Jansen. Dus je typt in het veld Criterium: 'Jansen'. Resultaat: niks. waarom niet? Je ziet Jansen, maar de tabel (en dus ook de query) gebruikt het KlantID 123. Je moet dus filteren op '123'. Alleen daarom al moet je er niet aan beginnen. Andere reden: als je de query exporteert naar Excel zie je niet 'Jansen', maar 123. Moet ik nog doorgaan?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan