Avatar billede jensen363 Forsker
11. januar 2006 - 08:52 Der er 7 kommentarer og
1 løsning

Beregn procestid

I en tabel logger jeg brugernes aktiviteter, eksempelvis faktura-generering, for på den måde at følge performance på databasen.

Logning består af et AktivitetsID og Dato

Dato = Now(), og et typisk tabelindhold kunne være :

  AktivitetsID  Dato
  01            11-01-2006  08:30:00
  01            11-01-2006  08:30:02
  01            11-01-2006  08:30:08
  01            11-01-2006  08:30:11

Jeg skal nu have beregnet hvor lang tid den enkelte aktivitet har varet ... men hvordan er det lige ???
Avatar billede sjap Praktikant
11. januar 2006 - 09:12 #1
Det kan f.eks. gøres med

DMax("[Dato]", "tabelnavn", "[ID] = 1")-DMin("[Dato]", "tabelnavn", "[ID] = 1")
Avatar billede jensen363 Forsker
11. januar 2006 - 09:18 #2
Go´formiddag sjap

Jeg skal have beregnet for hver enkelt post, ikke den samlede procestid
Avatar billede sjap Praktikant
11. januar 2006 - 09:37 #3
Go´formiddag jensen363

Med hver enkelt post, mener du så hver enkelt AktivitetsID? Ellers giver det ikke lige mening - eller har jeg misforstået noget?
Avatar billede sjap Praktikant
11. januar 2006 - 09:42 #4
Du kan iøvrigt også lave det i en forespørgsel

SELECT AktivitetsID, Max([Dato])-Min([Dato]) AS Tid
FROM Log
GROUP BY AktivitetsID;
Avatar billede jensen363 Forsker
11. januar 2006 - 11:33 #5
Det skal forstås således ...
AktivitetsID 01 = logning af det tidspunkt hvor brugeren eksempelvis genererer en faktura ... næste logning på AktivitetsID 01 er det tidspunkt hvor brugeren genererer den næste faktura. Det er de samme arbejdsgange som brugeren gennemløber i aktiviteten, men jeg har behov for at måle hvor lang tid aktiviteten tager fordelt over hele driftsdøgnet ... er det sort snak ???

Resultatet skulle så være :

AktivitetsID    Dato                  Procestid
  01            11-01-2006  08:30:00  --:--:--
  01            11-01-2006  08:30:02  00:00:02
  01            11-01-2006  08:30:08  00:00:06
  01            11-01-2006  08:30:11  00:00:03
  ect ....
Avatar billede sjap Praktikant
11. januar 2006 - 15:02 #6
Prøv med denne her:

SELECT AktivitetsID, Dato, [Dato]-DMax("[Dato]","Log","[AktivitetsID]=" & [AktivitetsID] & " And [Dato]<#" & Format([Dato],"m\/d\/yy h:nn:ss") & "#") AS Procestid
FROM Log;
Avatar billede jensen363 Forsker
11. januar 2006 - 15:15 #7
It works ;o) ... super
Tak for indsatsen ... læg venligst et svar
Avatar billede sjap Praktikant
11. januar 2006 - 17:53 #8
:0)
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





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis