Berekening in query

Status
Niet open voor verdere reacties.

klablabla

Gebruiker
Lid geworden
28 apr 2008
Berichten
116
Hallo,

Ik heb een cell in mijn tabel staan waar 1 t/m 100 wordt ingevuld.

Nu wil ik in een query een getal krijgen tussen de 1 en 5.
1 wordt 1
2 wordt 2
3 wordt 3
4 wordt 4
5 en hoger wordt 5

Ook heb ik een cell waar de datum wordt ingevuld.
is de datum binnen nu en 3 maanden geleden moet het een 1 worden anders een 0.

Uiteindelijk wil ik dus mijn waarde (1t/m5) * binnen 3 maanden (1 of 0)

Met berekeningen in access ben ik niet super en jullie hebben me al fantastisch geholpen.

Alvast bedankt.
 
(IIf([CountOfId]=1,1))
(IIf([CountOfId]=2,2))
(IIf([CountOfId]=3,3))
(IIf([CountOfId]=4,4))
(IIf([CountOfId]>4,5))
Het eerste stuk van mijn vraag heb ik zo opgelost.

(IIF([datumnu]-[datumbewerkt])>100,0,1)
Het tweede stuk van mijn vraag heb ik zo opgelost.

moet makkelijker kunnen maar het werkt
 
Laatst bewerkt:
Samengevoegd doe ik:

((IIf([CountOfId]=1,1,0))+(IIf([CountOfId]=2,2,0))+(IIf([CountOfId]=3,3,0))+(IIf([CountOfId]=4,4,0))+(IIf([CountOfId]>4,5,0)))*(IIf([datumnu]-[datumbewerkt]<100,0,1))+(IIF(((IIf([CountOfId]=1,1,0))+(IIf([CountOfId]=2,2,0))+(IIf([CountOfId]=3,3,0))+(IIf([CountOfId]=4,4,0))+(IIf([CountOfId]>4,5,0)))*(IIf([datumnu]-[datumbewerkt]<100,0,1))=0,5,0))

Beetje omslachtig.
 
Ik snap het niet helemaal; je hebt een Veld (geen cel, dat is Excel) ;) ) waarin een waarde staat. Die waarde ligt tussen de 1 en de 100. En dat getal wil je vermenigvulden met 0 of 1; gebaseerd op het verschil tussen twee datums?
Ik weet niet of je dezelfde kalender gebruikt als ik, maar in Rotterdam heeft de langste maand 31 dagen, en in een blok van 3 maanden zitten dus maximaal 2 maanden van 31 dagen, en 1 maand van maximaal 30 dagen. Bij elkaar is dat 2 *31 + 30=92, en geen 100.

Gelukkig kan Access beter met datums rekenen dan zijn gebruikers :)

Code:
IIf([Waarde]>5,5,[Waarde])*IIf(DateAdd("m";3;[Datum_van])>Date();1;0)
 
Bedankt,

Het werkt ga het nu uitwerken.

Dit scheelt me heel veel code.

Ik ben met je eens dat 3 maanden geen 100 dagen is. Maar er staat er 1 tussen met 93 dagen dus om te testen heb ik hem op 100 gezet.

Wat ik nu nog wil is als de waarde 0 is moet hij 5 worden.

dit doe ik nu:

(IIf([CountOfId]>5,5,[CountOfId])*IIf(DateAdd("m",3,[datum])>Date(),0,1))+(IIf(IIf([CountOfId]>5,5,[CountOfId])*IIf(DateAdd("m",3,[datum])>Date(),0,1)=0,5,0))

Kan dit ook makkelijker? ;)
 
Laatst bewerkt:
Zo:
Code:
IIf([CountOfId]>5;5;IIf([CountOfId]=0;5;[CountOfId]))*IIf(DateAdd("m";3;[Datum_van])>Date();1;0)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan