Toon posts:

[access] datum optellen in rapport

Pagina: 1
Acties:
  • 157 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
ik heb in een rapport een lijst met gebeurtenissen. Hierin staat een begin en een einddatum. Per regel wordt middels een tekstvak het verschil tussen deze dagen uitgerekend en weergegeven.

=[einddatum]-[begindatum]
over alles

Nu wil ik onderaan het rapport het eindtotaal hebben van al deze dagen. Ik heb dit geprobeerd in de paginavoettekst met een tekstvak met daarin de code:

=[einddatum]-[begindatum]
over groepen

Dit werkt vrij aardig, zij het niet dat de dagen van elkaar worden afgetrokken in plaats van opgeteld...iemand een idee?

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 03-04 08:44
Geef het veld waarin je de uitkomst van de details toont een naam (deze kun je invisible maken, zou je hem niet willen tonen). Maak een totaalveld voor dit veld.

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


Verwijderd

Topicstarter
dit veld heet aantal dagen. Wanneer ik in de paginavoettekst het veld aanpas en daarin zet =som(aantal dagen) dan krijg ik dezelfde uitkomst; de getallen worden van elkaar afgetrokken in plaats an opgeteld.

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 03-04 08:44
:? Ik snap je niet helemaal.
Zou je iets duidelijker kunnen zijn met een voorbeeld ofzo? Ik zou absoluut geen reden kunnen bedenken waarom de getallen van elkaar worden afgetrokken.

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


Verwijderd

Ik neem aan dat je is gebasseerd op een query?

Maak in je query een nieuw veld.

bijv:

TAantalDagen:som([Einddatum]-[Begindatum])

en maak een Totaal hiervan ( rechtermuis op het veld en dan totalen kiezen) maak dan van Group by expressie.

Nu kan je dit veld TAantalDagen kiezen in je rapport.

Suc6

Remco

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 07:18
Ik vind het vrij wazig dat je zomaar 2 data van elkaar kan aftrekken. Maak liever gebruik van de functie datediff.

Even getest, maar =Sum(DateDiff("d";Date();#25-04-2004#)) geeft gewoon het aantal records terug (1 dag verschil, maal het aantal records, klopt dus).

edit:
Dit veld heb ik wel in de report footer gezet

[ Voor 13% gewijzigd door nescafe op 26-04-2004 10:38 ]

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


Verwijderd

Moet je met datediff niet steeds een datum opgeven vanaf waar je de dagen wilt gaan tellen. Lijkt mij een beetje onhandig om steeds een datum op te geven.

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 07:18
DateDiff("d"; EindDatum; Begindatum)
of andersom indien het negatief wordt...

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


Verwijderd

Dat ziet er beter uit. Heb zelf nog nooit met DateDiff gewerkt dus wist niet dat dat ook kon.

Verwijderd

Topicstarter
Verwijderd schreef op 26 april 2004 @ 10:22:
Ik neem aan dat je is gebasseerd op een query?

Maak in je query een nieuw veld.

bijv:

TAantalDagen:som([Einddatum]-[Begindatum])

en maak een Totaal hiervan ( rechtermuis op het veld en dan totalen kiezen) maak dan van Group by expressie.

Nu kan je dit veld TAantalDagen kiezen in je rapport.


Suc6

Remco
de berekening van het aantal dagen per regel gebeurd in het rapport zelf. De query waarop het rapport is gebaseerd maakt enkel een lijst gesorteerd op de begindatum. Hierin wordt het aantal dagen dus niet berekend.

query waarop het rapport is gebaseerd:

SELECT [Dier].[DierNaam], [eigenaar].[Achternaam], [Verblijf].[begindatum], [Verblijf].[einddatum]
FROM eigenaar INNER JOIN (Dier INNER JOIN Verblijf ON [Dier].[Dier_ID]=[Verblijf].[dier_ID]) ON [eigenaar].[eigenaar_id]=[Dier].[Eigenaar_ID]
ORDER BY [verblijf].[begindatum];

[ Voor 21% gewijzigd door Verwijderd op 26-04-2004 11:24 ]


Verwijderd

Verwijderd schreef op 26 april 2004 @ 11:19:
[...]


de berekening van het aantal dagen per regel gebeurd in het rapport zelf. De query waarop het rapport is gebaseerd maakt enkel een lijst gesorteerd op de begindatum. Hierin wordt het aantal dagen dus niet berekend.
Dat maakt toch niet uit?

Je hebt in die query toch je begindatum en einddatum opgenomen?

Dan maak je gewoon handmatig zo'n nieuw veld aan in de query (deze hoeft niet in een tabel voor te komen).

De je geeft gewoon een nieuwe veldnaam:

Veld: TAantalDagen:som([Einddatum]-[Begindatum])
Tabel: is leeg
Totaal: Expressie
Sorteervolgorde: is leeg
Weergeven: Aanvinken
Criteria: is leeg
Of: is leeg

dan kun je dit veld (TAantalDagen) hierna op je rapport zetten waar je het wilt plaatsen.

Moet volgens mij gewoon kunnen.

Probeer het anders is met de methode DateDiff zoals hierboven is beschreven.

Verwijderd

Topicstarter
Verwijderd schreef op 26 april 2004 @ 11:27:
[...]


Dat maakt toch niet uit?

Je hebt in die query toch je begindatum en einddatum opgenomen?

Dan maak je gewoon handmatig zo'n nieuw veld aan in de query (deze hoeft niet in een tabel voor te komen).

De je geeft gewoon een nieuwe veldnaam:

Veld: TAantalDagen:som([Einddatum]-[Begindatum])
Tabel: is leeg
Totaal: Expressie
Sorteervolgorde: is leeg
Weergeven: Aanvinken
Criteria: is leeg
Of: is leeg

dan kun je dit veld (TAantalDagen) hierna op je rapport zetten waar je het wilt plaatsen.


Moet volgens mij gewoon kunnen.

Probeer het anders is met de methode DateDiff zoals hierboven is beschreven.
ow op die manier..even proberen..

Verwijderd

Topicstarter
Ok dit geeft nu geen foutmeldingen meer. Ik kan inderdaad nu Taantaldagen selecteren in het tekstvak. Het enige is dat ik nog altijd hetzelfde probleem hou; de dagen worden afgetrokken ipv opgeteld..

tevens datediff geprobeerd...dit geeft exact dezelfde resultaten, moet alleen wel de data even omdraaien omdat ie ze anders negatief maakt, maar verder geen verschil :(

[ Voor 200% gewijzigd door Verwijderd op 26-04-2004 11:56 ]


Verwijderd

Verander in je query ff TAantalDagen:som([Einddatum]+[Begindatum])

Of bedoel je dat je het aantal dagen wel goed is maar dan negatief? Of klopt het aantal gewoon niet?

[ Voor 45% gewijzigd door Verwijderd op 26-04-2004 11:56 ]


Verwijderd

Topicstarter
Verwijderd schreef op 26 april 2004 @ 11:54:
Verander in je query ff TAantalDagen:som([Einddatum]+[Begindatum])

Of bedoel je dat je het aantal dagen wel goed is maar dan negatief? Of klopt het aantal gewoon niet?
Als ik dat doe dan krijg ik een foute waarde. Het aantal klopt dus niet.

Verwijderd

Ik heb zelf even getest of het werkt.

Ik heb een begindatum genomen 20-04-04 en een einddatum 26-04-04

ik krijg dan als uitkomt 6

klopt dit dan zoals je het wilt hebben?

Verwijderd

Topicstarter
Verwijderd schreef op 26 april 2004 @ 12:04:
Ik heb zelf even getest of het werkt.

Ik heb een begindatum genomen 20-04-04 en een einddatum 26-04-04

ik krijg dan als uitkomt 6

klopt dit dan zoals je het wilt hebben?
ja.. :? ;( ik moet iets over het hoofd zien...

Verwijderd

Mail anders ff je database? Dan kan ik ff kijken of ik iets kan vinden.

je kan het mailen naar r.olthof@planet.nl

Verwijderd

Topicstarter
Verwijderd schreef op 26 april 2004 @ 12:08:
Mail anders ff je database? Dan kan ik ff kijken of ik iets kan vinden.

je kan het mailen naar r.olthof@planet.nl
hij is verstuurd. Even voor de duidelijkheid, hij geeft als resultaat 399. Maar als je die Taanaldagen invult bij aantal dagen dan zie je dat hij iets van 417 moet weergeven..

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 07:18
dan worden dus niet alle dagen van elkaar afgetrokken (dan zou je een negatieve waarde overhouden)

ik denk dat het toevoegen van een tekstvak met als besturingselementbron "=Sum(DateDiff("d";[Begindatum];[Einddatum]))" je probleem oplost.

En waarom datediff? Trek voor de gein eens twee data van elkaar af in een willekeurige andere omgeving. Je krijgt dan een willekeurige andere waarde. Het geeft maar net in access het goede resultaat, maar wie weet krijg je met een upgrade weer problemen (en geen foutmelding, dus je blijft wel even aan het zoeken naar de fout)

edit:
en gebruik dan ook geen "lopend totaal" / "running sum" o.i.d. (dus geen "over groepen" zoals jij aangaf)

[ Voor 14% gewijzigd door nescafe op 26-04-2004 12:34 ]

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


Verwijderd

Ik heb het aangepast voor je. In het mailte staat hoe ik het heb gedaan. als je vragen hebt dan hoor/zie ik het wel via dit form of via de mail.
Pagina: 1