Avatar billede xyz74 Nybegynder
29. oktober 2002 - 15:20 Der er 20 kommentarer og
1 løsning

Endnu et problem

jeg har denne her sql sætning, som ikke virker, den skal vise summen af Timer for den enkelte medarbejder i et bestemt tidsrum. f.eks. medarbejder nr 97040 har fra  dato 28-10-2002 - 30-10-2002, 23 arbejdstimer


SELECT Medarbejder.ID, Start.Dato, Slut.Dato, Sum(Arbejdstid.Timer) AS SumOfTimer
FROM Arbejdstid, (Start INNER JOIN Slut ON Start.ID = Slut.ID) INNER JOIN Medarbejder ON Start.ID = Medarbejder.ID
HAVING (((Start.Dato)='28-10-2002') AND ((Slut.Dato)='30-10-2002'));
Avatar billede terry Ekspert
29. oktober 2002 - 15:31 #1
Dont have time right now but IF you dont get help you can send it to terry@santhell.dk and I will take a look later.
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 15:38 #2
ok, jeg skal også smutte nu, jeg vender tilbage imorgen :o)
Avatar billede nih Novice
29. oktober 2002 - 22:27 #3
HAVING (((Start.Dato)>='28-10-2002') AND ((Slut.Dato)<='30-10-2002'));

Niels
Avatar billede xyz74 Nybegynder
30. oktober 2002 - 07:38 #4
Hej Niels, jeg får fejlen:
You tried to execute that does not include the specified expression 'Dato' as part of aggregate function
Avatar billede terry Ekspert
30. oktober 2002 - 08:20 #5
xyz74>you can send it to ekspertem@santhell.dk and I will take a look
Avatar billede xyz74 Nybegynder
30. oktober 2002 - 08:42 #6
ok
Avatar billede xyz74 Nybegynder
30. oktober 2002 - 08:43 #7
sendt
Avatar billede terry Ekspert
30. oktober 2002 - 08:45 #8
OK I have received it.
Avatar billede terry Ekspert
30. oktober 2002 - 09:15 #9
SELECT Medarbejder.ID, Medarbejder.Navn, Sum(DateDiff("n",[Start],[slut])/60-0.5) AS Timer
FROM (Slut INNER JOIN Start ON (Slut.Dato = Start.Dato) AND (Slut.ID = Start.ID)) INNER JOIN Medarbejder ON Slut.ID = Medarbejder.ID
WHERE (((Start.Dato)>=#10/28/2002#) AND ((Slut.Dato)<=#10/29/2002#))
GROUP BY Medarbejder.ID, Medarbejder.Navn;
Avatar billede xyz74 Nybegynder
30. oktober 2002 - 09:27 #10
det virker fint tusind tak igen :o), men hvis jeg nu kun vil have vist for en bestemt medarbejder er det så: WHere Medarbejder.ID = '97040, tilføjet til sidst?
Avatar billede xyz74 Nybegynder
30. oktober 2002 - 09:32 #11
ok, det kunne jeg da selv finde ud af, tak for hjælpen igen
Avatar billede terry Ekspert
30. oktober 2002 - 09:34 #12
SELECT Medarbejder.ID, Medarbejder.Navn, Sum(DateDiff("n",[Start],[slut])/60-0.5) AS Timer
FROM (Slut INNER JOIN Start ON (Slut.Dato = Start.Dato) AND (Slut.ID = Start.ID)) INNER JOIN Medarbejder ON Slut.ID = Medarbejder.ID
WHERE (((Start.Dato)>=#10/28/2002#) AND ((Slut.Dato)<=#10/29/2002#) AND Medarbejder.ID = '97040')


Tak :o)
GROUP BY Medarbejder.ID, Medarbejder.Navn;
Avatar billede xyz74 Nybegynder
30. oktober 2002 - 10:18 #13
terry er du der, jeg har lige et sidste spørgsmål
Avatar billede terry Ekspert
30. oktober 2002 - 10:19 #14
:o)
Avatar billede xyz74 Nybegynder
30. oktober 2002 - 10:25 #15
thank god, den sql sætning der, skal jeg bruge i en asp fil, hvor man skal kunne indtaste fra dato og til dato og medarbejdeid, og derefter få vist hvormange timer medarbejderen har arbejdet i den periode, kender du noget til det?? jeg skal nok oprette et nyt spørgsmål senere så du kan få point
Avatar billede terry Ekspert
30. oktober 2002 - 10:36 #16
I have worked VERY little with ASP!

What is important is that the date must be formatted correctly and how you do this in ASP (VB SCRIPT?) I am not too sure about. But the date format should be either the US MM-DD-YYYY or ISO YYYY-MM-DD




You would have a variable in ASP

DIM SQL

SQL = "SELECT Medarbejder.ID, Medarbejder.Navn, Sum(DateDiff("n",[Start],[slut])/60-0.5) AS Timer
FROM (Slut INNER JOIN Start ON (Slut.Dato = Start.Dato) AND (Slut.ID = Start.ID)) INNER JOIN Medarbejder ON Slut.ID = Medarbejder.ID
WHERE (((Start.Dato)>=#"

SQL = SQL & 10/28/2002
SQL = SQL & "#) AND ((Slut.Dato)<=#"
SQL = SQL & 10/29/2002
SQL = SQL & "#) AND Medarbejder.ID = '"
SQL = SQL & 97040
SQL = SQL & "');"


This is ALMOST correct! All you need to do now is replace the dates and medarb nr. with the fields from your ASP, BUT you MUST rememeber to format your dates!
Avatar billede xyz74 Nybegynder
30. oktober 2002 - 10:43 #17
jeg prøver, jeg vender tilbage med nyt spørgsmål så du kan få point :o)
Avatar billede terry Ekspert
30. oktober 2002 - 10:44 #18
dont worry I have enough :o)
Avatar billede xyz74 Nybegynder
30. oktober 2002 - 10:49 #19
nu er jeg "lidt" nysgerrig af natur, så jeg gad godt vide hvorfor du skrive engelsk, når du åbenbart godt kan forstå dansk :-/
Avatar billede terry Ekspert
30. oktober 2002 - 10:52 #20
I'm from GB! It takes me far too long to write a readably danish and danes are good at reading English so I prefer that :o)
Avatar billede xyz74 Nybegynder
30. oktober 2002 - 10:53 #21
ok :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