Avatar billede claus_lind Praktikant
12. maj 2009 - 22:16 Der er 6 kommentarer og
2 løsninger

Valg i felt i en forespørgsel

Ville gerne have et felt i en forespørgsel som skulle indeholde den til der er mellem en starttid (felt) og en sluttid (felt).
Nogle gange er der holdt en pause mellem disse (frokost) dette markeres med felt med navn frokost holdt.

Har en beregning
Tidsforbrug: ([Sluttid]-[Start tid])

Denne ville jeg gerne have til at ligene noget alla dette

"hvis ikke Frokost holdt then Tidsforbrug: ([Sluttid]-[Start tid]) else Tidsforbrug: ([(Sluttid - frokost)]-[Start tid])

Altså tidsforbrug fratrækkes Pause (konstant værdi)

Hilsen Claus Lind
Avatar billede fdata Forsker
12. maj 2009 - 22:58 #1
Du er jo på sporet. Det er ikke testet; men må være noget i stil med:

Tidsforbrug: Iif(IsNull([Frokost]);([Sluttid]-[Start tid]);([Sluttid] - [frokost] - [Start tid]))

Ovenstående forudsætter, at Frokost er Null. Hvis det er et Ja/Nej felt, skal du rette til Iif(Not Frokost; osv.

Jeg er i tvivl om din konstruktion med ([Sluttid] - [frokost] - [Start tid]); men det har du sikkert styr på ;o)
Avatar billede Slettet bruger
12. maj 2009 - 23:02 #2
Forudsat feltet [frokostHoldt] er af typen sand/falsk:

iif([frokostHoldt];[Sluttid]-[Start tid];[Sluttid] - frokost-[Starttid])
Avatar billede Slettet bruger
12. maj 2009 - 23:04 #3
Korrektion:

iif([frokostHoldt];[Sluttid]-frokost-[Start tid];[Sluttid] -[Starttid])
Avatar billede fdata Forsker
12. maj 2009 - 23:12 #4
Tjah. Var lidt i tvivl om, hvorvidt der var 2 felter (Frokost og Frokost holdt) eller om det i virkeligheden var samme felt.
Men bortset fra det er vores forslag jo ens ;o)
Avatar billede mugs Novice
13. maj 2009 - 08:47 #5
Og hvis der nu er tale om skiftehold hvor arbejdstiden strækker sig henover midnat, hvordan fungerer jeres koder så?
Avatar billede Slettet bruger
13. maj 2009 - 10:33 #6
til mugs:
Ja, de virker ikke rigitgt - så lidt uddybning for spørger og andre: (du og jeg ved det godt ;)

Det har sin begrænsning at anvende tidspunkter som om det ikke var tidspunkter på denne bestemte dag:
format(cdate(0),"dd\/mm-yyyy")

Det man indtaster med 'hh:mm" er på denne dag - skal der regnes på det, må man tilføje antal midnatkrydsninger der menes efter starttid, som heltals addend til sluttid.

Hvis man vedtager, at en periode ikke kan være længere end 24 timer

tilfældet sluttid > starttid:
    sluttid-starttid

tilfældet starttid > sluttid
    1+sluttid-starttid


ps. Man skal ikke lade sig forvirre af at det tilsyneladende ser korrekt ud med blot sluttid-starttid i alle tilfældet - det er blot et tidspunkt på dagen før 'format(cdate(0),"dd\/mm-yyyy")
' man ser.
Avatar billede claus_lind Praktikant
14. maj 2009 - 21:02 #7
Lige først en kommentar :)
Den funktion jeg ledete efter var Iif så svar bliver delt mellem #1 og #2.
Har nu fået funktionen til at virke.

Hvor er det dejligt at man kan få rigitig god hjælp  :) :)

Hilsen Claus
Avatar billede fdata Forsker
15. maj 2009 - 10:58 #8
Takker for point ;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