Avatar billede sommerfugl Nybegynder
17. november 2004 - 20:08 Der er 3 kommentarer og
1 løsning

Beregningsfelt med summering af flere felter (også tomme)

Hej
I min Access 2003 har jeg lavet et beregningsfelt, der skal summere flere felter. Denne giver problemer, når et af felterne kan være tomme, hvorfor der så ikke vises noget tal.

Felterne kan være tomme, fordi jeg har brugt 2 sammenkædede tabeller (den ene fra XAL via ODBC og den anden er en budget-Excel-tabel). Jeg kan derfor ikke ændre i definitionen af feltet, men har brug for en slags Null-sætning, der kan bygges ind i Udtryksgeneratoren for beregningsfeltet i forespørgslen:

Forventet res: [B okt kvt]+[B jan kvt]+[B apr kvt]+[R juli kvt 04]

Hvor det er "[R juli kvt 04]", der kan være tomt, hvis der ikke er bogført noget på budgetposten, men når feltet er tomt, så annulleres beregningen desværre.

Jeg har forsøgt mig med en slags if-then sætning uden held, men jeg er heller ikke så sikker i at skrive det korrekte udtryk.

/Anni
17. november 2004 - 20:11 #1
Prøv med:

nz([B okt kvt];0)+nz([B jan kvt];0)+nz([B apr kvt];0)+nz([R juli kvt 04];0)
17. november 2004 - 20:17 #2
Hvis du er helt sikker på, at det kun er [R juli kvt 04] som driller, kan du nøjes med denne:

Forventet res: [B okt kvt]+[B jan kvt]+[B apr kvt]+nz([R juli kvt 04];0)
Avatar billede sommerfugl Nybegynder
17. november 2004 - 20:29 #3
Fantastisk det virker, hvor skønt. Ved du hvor jeg kan læse mere om den nz-streng ?
:-)
17. november 2004 - 20:37 #4
i VBA-hjælpen eller den alm. Access-hjælp.

Men den er nu ikke så kryptisk. NZ står for "Null-to-Zero" og bruges til at erstatte Null-værdier med en vilkårlig anden værdi (som regel 0)

I alle beregnede udtryk, kræves at alle variable er udfyldt (altså forskellig fra Null). Derfor bruger man nz.

Alternativt kunne man bruge IIF således:

Forventet res: [B okt kvt]+[B jan kvt]+[B apr kvt]+IIF(IsNull([R juli kvt 04]);0;[R juli kvt 04]))

Men nz er lidt mere elegant :o)
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