Avatar billede rvm Nybegynder
06. december 2004 - 13:40 Der er 10 kommentarer og
1 løsning

Divison med 0

Jeg har oprettet en forespørgsel i Access, der skal beregne en masse Gennemsnit, Maks og Min. Jeg har i forespørgslen oprettet nye kolonner med formler i (der er omkring 100 nye kolonner med formler) se nedenstående:

GenBruttoavance: Gennemsnit([BruttoavanceTotal]/[OmsaetningTotal])

Desværre fejler forespørgslen, hvis der i en af posterne står 0 i OmsaetningTotal. Jeg kan desværre ikke filtrere posten væk, da den skal bruges i næste kolonnes beregning.

Nogen der har et forslag?
Avatar billede ldanielsen Nybegynder
06. december 2004 - 14:01 #1
Kan du ikke bruge funktionen avg
Avatar billede arne_v Ekspert
06. december 2004 - 14:02 #2
Access <> MS SQLServer

Umiddelbart tror jeg at du vil:

Gennemsnit(iif([OmsaetningTotal] > 0,[BruttoavanceTotal]/[OmsaetningTotal],0))

Check lige om funktionen hedder iif - det er lang tid siden jeg har arebjdet med den
slags i Access
Avatar billede rvm Nybegynder
06. december 2004 - 14:06 #3
AVG - er hvis jeg har en Engelsk version - jeg har prøvet at skrive AVG,men så ændrer Access det selv til Gennemsnit

iff kan ikke bruges, da den beregner både det sande og det falske - og så vil jeg igen få fejlen :-(

Jeg arbejder i øjeblikket på at bruge "case", men kan heller ikke få det at virke :-(
Avatar billede rvm Nybegynder
06. december 2004 - 14:07 #4
Måske har Access i Case? Det virker nemlig på min kollegas SQL server (altså case)
Avatar billede arne_v Ekspert
06. december 2004 - 14:10 #5
Gennemsnit(iif([OmsaetningTotal] > 0,[BruttoavanceTotal]/iif([OmsaetningTotal]>0,[OmsaetningTotal],1),0))

måske
Avatar billede rvm Nybegynder
06. december 2004 - 14:24 #6
iff kan ikke bruges, da den beregner både det sande og det falske - og så vil jeg igen få fejlen :-(

Men din sætning fejler ikke :-)

Men den returnerer alle tal - ikke gennemsnittet :-(
Avatar billede arne_v Ekspert
06. december 2004 - 14:29 #7
Nej fordi jeg dividerer med 1 der hvor der er 0.

Det sidste problem har jeg lidt svært ved at gennemskue.
Avatar billede rvm Nybegynder
06. december 2004 - 14:31 #8
Det har jeg selv gennemskuet :-) Jeg grupperede på forhandlere, når det skulle have været år :-)

Forøvrigt smart at dividerer med 1

Jeg tror det er den endelige løsning, men jeg må lige teste lidt mere - altså se om der kommer de rigtige tal :-)
Avatar billede rvm Nybegynder
07. december 2004 - 20:05 #9
Det virker - mange tak for hjælpen :-)
Avatar billede rvm Nybegynder
07. december 2004 - 20:07 #10
arne v -> skriver du lige et svar så du kan få dine velfortjente point :-)
Avatar billede arne_v Ekspert
07. december 2004 - 20:09 #11
svar
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
Computerworld tilbyder specialiserede kurser i database-management

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