05. januar 2002 - 14:50Der er
14 kommentarer og 1 løsning
Rapport baseret på flere forespørgsler
Hej.
Hvordan bygger jeg en rapport på flere forespørgsler. Jeg har forestillet mig at rapporten deles op i et nyt afsnit, som så er baseret på en ny forespørgsel.
Du kunne indsætte knapper eller lign. (eller sætte betingelser ind i rapportens Load-event) der skifter rapportens postkilde mellem forskellige forespørgsler.
Dette kræver naturligvis også at diverse kontrollers kontrolkilder ændres.
Løsningen med underrapporter giver mig tilsyneladende ikke mulighed for senere i hovedrapporten at udføre beregninger med underrapporternes tal, hvilket jeg gerne vil (f.eks summere resultaterne fra (underrapporterne. Løsningen er måske den med at sætte betingelser ind i rapportens Load-event der skifter rapportens postkilde mellem forskellige forespørgsler. But how do I...?
jobless> Its not easy to give a precise answer to you rproblem without knowing a bit more about you data. If your data is related then I would suggest you try combining your queries into on equery and making your calculations here. If you need to make calculations between one or more queries then I can not see how tjacobs suggestion of changing the record source is going to help.
I tabellen hvor jeg søger har entitierne ca. 100 egenskaber. 6 af disse er mine 3 sæt start- og slutdatoer på 3 forskellige processer. Jeg indtaster start og slutdato i en formular, og vil så gerne have en rapport grupperet på hhv. de entitier hvor process1 overholder datokreterierne, og på de entitier hvor process2 overholder datokreterierne, og de entitier hvor process 3 overholder datokreterierne. Rapporten skal vise felterne for forbruget ved hhv. process1 process2 og process3, og til sidst vil eg gerne sumere dette forbrug op. Lyder dette som sort snak?
So what you are saying is that you have one table and have made three queries for the reports, is that correct?
In the queries that you have made I am guessing that you have the same information (number of columns). What I suggest is you make a UNION query and use this in your report. A UNION query takes the result (output) of your three queries and put them into one. Then in the report you can group the result on the process type and sum \"forbrug\".
UNION løser åbentbart ikke lige problemet. Jeg har følgende 3 forespørgsler jeg gerne vil bruge på samme rapport, samt beregne nogle værdier baseret på alle 3 forespørgsler, i rapporten: 1: SELECT Min(møller.[zink start tid]) AS [MinOfzink start tid], Max(møller.[zink slut tid]) AS [MaxOfzink slut tid], Sum(møller.zink) AS SumOfzink, Sum([zink fortynder]*[zink]/100) AS [z-forbrug], Count(Kabiner.Kabine) AS AntalOfKabine FROM Kabiner INNER JOIN møller ON Kabiner.id = møller.[Kabine nr] HAVING (((Min(møller.[zink start tid]))>[Forms]![Forbrug]![start]) AND ((Max(møller.[zink slut tid]))<[Forms]![Forbrug]![slut]));
2: SELECT Min(møller.[Primer start tid]) AS [MinOfPrimer start tid], Max(møller.[Primer slut tid]) AS [MaxOfPrimer slut tid], Sum(møller.Primer) AS SumOfPrimer, Sum([Primer fortynder]*[primer]/100) AS [p-forbrug], Count(møller.[Kabine nr]) AS [CountOfKabine nr] FROM Kabiner INNER JOIN møller ON Kabiner.id = møller.[Kabine nr] HAVING (((Min(møller.[Primer start tid]))>[Forms]![Forbrug]![start]) AND ((Max(møller.[Primer slut tid]))<[Forms]![Forbrug]![slut]));
3: SELECT Min(møller.[Top start tid]) AS [MinOfTop start tid], Max(møller.[Top slut tid]) AS [MaxOfTop slut tid], Sum(møller.Top) AS SumOfTop, Sum([top fortynder]*[top]/100) AS fortynder, Count(møller.[Kabine nr]) AS [CountOfKabine nr] FROM Kabiner INNER JOIN møller ON Kabiner.id = møller.[Kabine nr] HAVING (((Min(møller.[Top start tid]))>[Forms]![Forbrug]![start]) AND ((Max(møller.[Top slut tid]))<[Forms]![Forbrug]![slut]));
Det er vigtigt at jeg får samme resultat i en evt. samlet forespørgsel som i 3 seperate, idet der hentes fra samme tabel, og jeg ikke skal bruge værdierne fra f.eks. process1 hvis datokreterierne ikke overholdes af process1, men derimod f.eks skal bruge værdierne fra process2 og process3 hvis disse overholder datokreterierne.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.