Avatar billede mlhave Nybegynder
03. december 2004 - 21:31 Der er 18 kommentarer og
1 løsning

Beregning i Rapport

Jeg har en rapport hvor jeg skal summere et felt pr. afdeling, feltet hedder "txtDage" og indeholder følgende kode:

=IIf([DatoRetur]<[txtSlut];[DatoRetur];[txtSlut])-IIf([Datoudlaan]>[txtStart];[Datoudlaan];[txtStart])

Alle felterne indeholder forskellige datoer.

Jeg skal summere på tværs af feltet "txtDage" for at få det totale antale dage pr. afdeling. Problemet er at mit sum felt pr. afdeling ikke regner med de værdier ovenstående beregning finde frem til. Der i mod dukker der et parametervindue op når rapporten aktiveres. I dette vindue vil rapporten have en værdi for "txtDage", angiver jeg fx. for sjovt den til 1, kan mit sum felt pr. afdeling regne ud hvor mange linier der er pr. afdeling...
Avatar billede mugs Novice
03. december 2004 - 23:31 #1
Har du feltet txtdage i rapporten? Den kender tilsyneladende ikke feltet.

Har du iøvrigt prøvet at benytte guiden rapport? Den tilbyder at lave både subtotaler og totaler. Og den er ganske simpel at bruge.

Databasevindue > Rapporter > Ny > Guiden rapport
Avatar billede mlhave Nybegynder
04. december 2004 - 13:41 #2
Feltet txtDage ER i rapporten.....
Rapporten er oprindeligt lavet med Guiden Rapport, men senere er feltets kontrolelementkilde blevet tilpasset og nu kan den, som du siger, ikke genkende feltet...
Avatar billede mugs Novice
04. december 2004 - 19:23 #3
Er txtDage et felt med "forbindelse bagud" til en tabel / forespørgsel, eller er det en ubundet tekstboks?
Avatar billede mlhave Nybegynder
05. december 2004 - 10:50 #4
Det er en ubundet tekstboks....

Det er lige som om rapporten burde køres 2 gange; en gang for at beregne totalen vandret og en gang for at kører den lodret..... det er bare tankespind - jeg aner ikke hvordan det skulle lade sig gøre...
Avatar billede mugs Novice
05. december 2004 - 11:13 #5
Kan du sende db (eller dele deraf) til:

mugs@mail.dk

Så vil jeg se på den senere.
Avatar billede mlhave Nybegynder
05. december 2004 - 11:51 #6
Det er lykkedes nu, jeg opdelte ovenstående beregning i 2 variabler i min forespørgsel og lavet rapporten igen:

PStart:IIf([Datoudlaan]>[Forms]![frmRapportOversigt]![txtStartdato];[Datoudlaan];[Forms]![frmRapportOversigt]![txtStartdato])

PSlut:IIf([Datoudlaan]>[Forms]![frmRapportOversigt]![txtSlutdato];[Datoudlaan];[Forms]![frmRapportOversigt]![txtSlutdato])

Dage:[PStart]-[PSlut]

nu er der kun tilbage at løs problemet med at rapporten, når den startes spørger efter parametrene PStart og PSlut... hvis jeg bare trykker Ok ved dem begge giver rapporten det rigtige svar, men hvodan undgår jeg at den spørger?
Avatar billede mugs Novice
05. december 2004 - 11:55 #7
Fint det lykkedes.
Rapporten kender ikke felterne PStart og PSlut. Kontroller, at disse felter hedder det samme i Forespørgslen som i rapporten.
Avatar billede mlhave Nybegynder
05. december 2004 - 12:15 #8
Kan man i en form sende en forespørgsel af med angivelse af parametre og derefter få rapporten til at åbne med de parametre?
Der sker det samme uanset om de 2 felter er med i rapoorten, men de er egentlig kun mellemberegninger i forespørgslen. Årsagen til at de popper op må være fordi selve beregningen i de 2 kræver input fra den form rapporten aktiveres fra....
Avatar billede mugs Novice
05. december 2004 - 12:18 #9
Det kan du sagtens, for di nhar jo allerede gjort det her:

PStart:IIf([Datoudlaan]>[Forms]![frmRapportOversigt]![txtStartdato];[Datoudlaan];[Forms]![frmRapportOversigt]![txtStartdato])

Her refererer du jo til formularen, spørgsmålet er så om rapportens postkilde indeholder disse felter.
Avatar billede mlhave Nybegynder
05. december 2004 - 12:39 #10
Jeg har sendt den til dig og lægger 30 point oven i :o)
Avatar billede mugs Novice
05. december 2004 - 13:00 #11
Db er returneret, idet jeg har rettet en PStart - PSlut til en korrekt DateDiff. Rapporten spørger nu ikke længere om parametrer til disse beregningern.
Avatar billede mlhave Nybegynder
05. december 2004 - 18:26 #12
Det duer desværre ikke jeg har brug for at kunne se dato diff afhængig af den periode der indtastes og i forhold til hvornår flaskerne er udlånt og evt. returneret. Derfor er det ikke præcist nok med  DateDiff("d";[DatoUdlaan];[Datoretur]).

Antallet af dage beregnes inden for den angivne periode, således at hvis en flaske er udl. 1-11 og returneret den 10-12, men perioden der kigges på er 1-12 til 31-12, så skal det give differencen mellem 1-12 og 10-12 ... 10 dage!

Hvis den er udlånt 5-15 og ikke returneret skal den i samme periode 1-12 til 31-12, vises med 26 dage …

Derfor skal PStart og PSlut begge have en iif-betingelse.
Avatar billede mugs Novice
06. december 2004 - 11:30 #13
Ny version returneret uden parametrerne popper op. Jeg har trukket felterne PStrat og PSlut ind i rapporten og så fungerer det.
Avatar billede mlhave Nybegynder
07. december 2004 - 21:12 #14
Desværre virker det heller ikke rigtigt. Rapporten virker fint nu, den tæller lejedage inden for perioden der indtastes og den summere dem de rigtige steder, men det duer ikke at forespørgslen popper op efter PStart og PSlut hver gang den aktiveres :o(
Mht. den du sendte så kan jeg umiddelbart ikke rigtig se hvad Forespørgsel 2 gør, men under alle omstændigheder kan perioden der skal undersøges være på skæve datoer som feks. 15-11 til 20-12.

...og ja spørgsmålet hænger sammen med http://www.eksperten.dk/spm/568187 som jeg oprettede for at fokusere på delproblemet med popup efter variabler der beregnes. Dette spørgsmål drejede sig primært om at få rapporten til at summere på felter der bliver beregnet i rapporten, men det har desværre ikke kunne lade sig gøre jeg lavede beregningerne i forespørgslen istedet 05/12-2004 11:51:28.
Avatar billede mugs Novice
07. december 2004 - 23:18 #15
mlhave > Beklager, at jeg ikke har været aktiv på dette spørgsmål i eftermiddag efter vores "maileri" i formiddags. Blev kaldt på arbejde.

Her popper felterne ikke op, når jeg kører rapporten, og efter det bør de jo gøre, hvis de gør det hos dig.

Forespørgsel2 tæller lejedage indenfor en kalendermåned, altså ikke "skæve" perioder.

Ser på der igen imorgen efter fyraften.
Avatar billede mlhave Nybegynder
08. december 2004 - 18:18 #16
Hvis du går ind i formularen frmRapportoversigt og taster 1-11-2004 som Startdato og 15-12-2004 som Slutdato hvorefter du klikker på Udlånsdage pr. afdeling. Popper der så ikke 2 bokse op og spørger efter henholdsvis PStart og PSlut?
Databasen laves i Access 2000, men jeg har prøvet den af i både 2002 og 2003 og jeg får de bokse op hver gang....!?
Avatar billede mlhave Nybegynder
08. december 2004 - 18:28 #17
Så lykkedes det :o)

staticdata fandt en løsning i http://www.eksperten.dk/spm/568187
Avatar billede mlhave Nybegynder
08. december 2004 - 18:28 #18
Point fordi jeg sætter pris på dit engagement :o)
Avatar billede mugs Novice
08. december 2004 - 18:32 #19
Tak for point.
I Den db jeg sendte dig, popper der ikke nogen bokse op.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

IT-Universitetet i København

CIO

Allerød Kommune

Digitaliseringschef

European Stonecraft

Intern Navision/BC Supporter