Avatar billede clscableguy Praktikant
09. januar 2004 - 07:56 Der er 5 kommentarer og
1 løsning

Sum af en column

Hjælp

Jeg er lidt ny på dette område.

Jeg har lavet en database, hvor jeg kan putte data ind og jeg kan vise dem i et view.

Nu kunne jeg godt tænke mig i en pages at vise summen af en column fra et view.

Hvordan gør jeg det?

m.v.h.
Claus
Avatar billede jogii Nybegynder
09. januar 2004 - 08:13 #1
her noget kode du kan putte ind i et felt eller "beregnet tekst" (computed text)

_path := "";
_view := "navnetpåviewet";
_column := <kolonnenummeret>;
_lookup := @DbColumn( "":"NoCache"; _path; _view; _column);
_sum := @Sum(_lookup);
@If(@IsError(_lookup); @Text(_lookup); @IsError(_sum); @Text(_sum); _sum)

_path = "" angiver samme database som du er i.
Hvis du vil slå op i en anden database (evt. på en anden server) er syntaksen
_path = "servernavn" : "databasefilsti"
Bemærk at Domino servere via HTTP kun må slå op lokalt (servernavn = "")
Avatar billede clscableguy Praktikant
09. januar 2004 - 08:24 #2
Tak for det hurtige svar.  :)

Jeg for en fejl som ser sådan her ud:
Incorrect datatype for database function

Den Column jeg skal have en sum er bliver lavet sådan her:
temp := (@Date(tildag) - @Date(fradag)) / 86400;
weekend_days := @Integer((temp / 7)) * 2;
wkday := @Weekday(fradag);
adjust := @If(((wkday + @Modulo(temp; 7) - 7) > 0); 2; 0);
working_days := temp - (weekend_days + adjust);
@If(fradag = ""; "0"; @If(working_days < 1; "0"; working_days))
Avatar billede jogii Nybegynder
09. januar 2004 - 08:38 #3
Du prøver at summe tal og bogstaver sammen:
  @If(fradag = ""; "0"; @If(working_days < 1; "0"; working_days))
Det er "0" som skal være 0
skal ændres til
  @If(fradag = ""; 0; @If(working_days < 1; 0; working_days))

Alternativt kan du lave
_numbers := @TextToNumber(@Trim(@Text(_lookup)));
_sum := @Sum(_numbers);
Du kan evt. også erstatte 0 med "" (blank) og så få ovenstående @trim til at filtrere de blanke ud inden du summer.
//Jörg
Avatar billede clscableguy Praktikant
09. januar 2004 - 09:07 #4
Hvis nu at View'et er tom. Kommer den med en error. Kan man gøre noget ved det?
Avatar billede jogii Nybegynder
09. januar 2004 - 09:13 #5
Hvilken fejlbesked får du?
Du kan ændre
  @If(@IsError(_lookup); @Text(_lookup); @IsError(_sum); @Text(_sum); _sum)
til at samle flere fejlsituationer op.
Når viewet er tomt, så er _lookup = "" (tror jeg). Det kan du passende teste på inden du tester på @IsError(_sum)

  @If(@IsError(_lookup); @Text(_lookup); _lookup = ""; "din fejlbesked"; @IsError(_sum); @Text(_sum); _sum)
Avatar billede clscableguy Praktikant
09. januar 2004 - 09:32 #6
Mange tak igen. :)

Det er rigtigt at _lookup = "" når view'et er tomt.

Tak for hjælpen. :)
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