Jag skapar en rapport utifrån en SQL-fråga som bl.a. skriver ut antal arbetade timmar per arbetspass. I rapporten vill jag under dessa rader mata ut totalt antal arbetade timmar för aktuell månad. Jag har nu löst det genom att ha två olika textboxar där kontrollsumma för textbox 1-2 är:Hur summera tal i en textbox?
Jag har löst detta med följande SQL-fråga:
SELECT FORMAT(SUM(slut_tid-start_tid),"hh:mm:ss") AS ['Totalt arbetad tid']
FROM tbl_stampelklocka;
Observera att villkoret för aktuell månad har jag ej lagt till i frågan ovan. Vet inte än om det finns någon funktion för aktuell månad eller om jag måste "hårdkoda", t.ex. BETWEEN datum1-datum2.
Problemet är att efter att jag testat och sen googlat lite, så fick jag reda på att man i MS Access ej kan köra en SQL-fråga som Kontrollkälla för en textbox :-(
Så nu undrar jag hur jag kan lösa detta? Misstänker att jag får använda de inbyggda mängdfunktioner som finns i Uttrycksverktyget? T.ex. DSumma?Sv: Hur summera tal i en textbox?
=DSumma("ROUND((slut_tid-start_tid)*24)","tbl_stampelklocka","anstalld='Karl Svensson'")
=DSumma("ROUND((slut_tid-start_tid)*60)","tbl_stampelklocka","anstalld='Karl Svensson'")
Jag hade velat ha formateringen som i min SQL-fråga ovan, men har inte lyckats få till det så. Nu blir svaret 7h 16m, varav jag hade velat ha: 07:16.
Ett problem jag har är dock att DSumma() vill ha ett villkor som sista parameter. Jag vill att funktionen summerar ihop timmarna för aktuell anställd, dvs. den anställd som valdes i comboboxen i mitt formulär. Så jag vet inte vad jag ska skriva vid villkor där egentligen. Har bl.a. testat med:
=DSumma("ROUND((slut_tid-start_tid)*24)","tbl_stampelklocka","[anstalld]=Forms![frm_skapa_lönesedel]![cboAnstalld].[Column](1)")
Men det enda som skrivs i textboxen då är: #Fel