Avatar billede petersen7913 Forsker
24. januar 2008 - 15:23 Der er 8 kommentarer og
2 løsninger

Hvordan får jeg 7913 - 0 til at blive 7913

Jeg bruger en query til at vise ledige arbejdstimer til brugeren. Det er bygget op så man ser 'bruttotimer', 'planlagte timer' og 'ledige timer'. Hvis 'planlagte timer' er 0 forventer jeg at 'ledige timer' viser det samme som  'brutto timer', men den viser intet .... Jeg har prøvet med Nz(xxx, 0) men det virker ikke.

Forslag?

Min query:
SELECT tWeeks.WeekID AS UgeID, tWeeks.YearNo, tWeeks.WeekNo AS Ugenr, tWeeks.BruttoHours AS BruttoHrs, Nz(qSumHoursWeek.SumOfActWeekHours,0) AS ['Planlagte timer'], Round([tWeeks]![BruttoHours]-[SumOfActWeekHours],2) AS ['Ledige timer']
FROM tWeeks LEFT JOIN qSumHoursWeek ON tWeeks.WeekID = qSumHoursWeek.WeekID;

Den underliggende query:
SELECT tActivitiesWeeks.WeekID, Sum(tActivitiesWeeks.ActWeekHours) AS SumOfActWeekHours
FROM tActivitiesWeeks
GROUP BY tActivitiesWeeks.WeekID;
Avatar billede mugs Novice
24. januar 2008 - 15:42 #1
Udtryk1: Left([feltnavn];4)
Avatar billede petersen7913 Forsker
24. januar 2008 - 16:49 #2
Left returnerer (bare) de 4 første tegn i en tekst streng?
Avatar billede mugs Novice
24. januar 2008 - 16:58 #3
Hvis ikke det er det du vil, hvad vil du så?
Avatar billede petersen7913 Forsker
24. januar 2008 - 17:03 #4
Jeg har bruttotimer (databasefelt), så har jeg planlagtetimer (beregnet som sum af timer) og så vil jeg gerne vise hvormange ledige timer der er, dvs. bruttotimer - planlagtetimer = ledigetimer.

Hvis der ikke er planlagtetimer bruger jeg nz(planlagtetimer, 0) for at få et '0' istedetfor en tom streng.

Så hvis der ikke er planlagtetimer bør ledigetimer svare til bruttotimer dvs. bruttotimer - 0 = bruttotimer.
Avatar billede mugs Novice
24. januar 2008 - 17:13 #5
Jeg forstår ikke din sidste kommentar i forhold til dit spørgsmål. Men kan du ikke lægge beregningen ind i en iff sætning?
Avatar billede rosco Novice
25. januar 2008 - 01:01 #6
LedigeTimer: IIf([PlanlagteTimer]=0;[Bruttotimer];[Bruttotimer]-[PlanlagteTimer]
Avatar billede rosco Novice
25. januar 2008 - 01:04 #7
Der manglede en afsluttende parantes
LedigeTimer: IIf([PlanlagteTimer]=0;[Bruttotimer];[Bruttotimer]-[PlanlagteTimer])
Avatar billede petersen7913 Forsker
25. januar 2008 - 09:42 #8
rosco, jeg prøver. Men kan man lægge en iif ind i en query?

Det hele ligger i en query, så brugeren får en passende liste at vælge udfra.
Avatar billede mugs Novice
25. januar 2008 - 10:16 #9
Rosco's eksempel er netop en Query. Prøv evt. at bruge udtryksgeneratoren og vælg Indbyggede funktioner, så vil du se at netop Iif er der.
Avatar billede petersen7913 Forsker
25. januar 2008 - 11:41 #10
Ja nu virker det. 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
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