I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Brug antaldage = datediff(d, dato1, dato2) D giver antallet af dage hvis du skal bruge arbejdsdage bliver det straks mere avanceret. Helldigdage ka jeg ik se nogen anden mulighed end at skrive dem alle manuelt (evt. ind i en database) og derefter checke hver eneste dag i rangen og lave antaldage = antaldage -1 for hver helligdag der kommer imellem
Hmmm, denne funktion lægger et antal arbejdsdage til en given dato (...og den er testet ;-). Burde måske kunne give dig lidt inspiration.
Function WorkdayAdd(ByVal dtmDate, intNumber) If intNumber > 0 Then For i = 1 To intNumber dtmDate = DateAdd(\"d\", 1, dtmDate) If (DatePart(\"w\", dtmDate) = 7) Or (DatePart(\"w\", dtmDate) = 1) Then i = i -1 Next Else For i = -1 To intNumber Step -1 dtmDate = DateAdd(\"d\", -1, dtmDate) If (DatePart(\"w\", dtmDate) = 7) Or (DatePart(\"w\", dtmDate) = 1) Then i = i +1 Next End If WorkdayAdd = dtmDate End Function
Function WorkdayDiff(dtmStart, dtmEnd) WorkdayDiff = 0 For i = 1 To DateDiff(\"d\", dtmStart, dtmEnd) If DatePart(\"w\", dtmStart + i) <> 7 And DatePart(\"w\", dtmStart + i) <> 1 Then WorkdayDiff = WorkdayDiff +1 Next End Function
Du skal nok teste den grundigt, især omkring årskiftet, da DatePart og DateDiff er rimeligt afhængige af datoindstillingerne på din server.
Men først kan I så ikke lige svare mig på følgende:
følgende sql sætning laver ballade.
Datostreng = \"select * from helligdage WHERE (Helligdag >= \"&Datoen1&\" and Helligdag1 <= \"&Datoen2&\")\" Set res = Server.CreateObject(\"ADODB.RecordSet\") res.Open Datostreng, Conn, 1, 3
Datoen1 og Datoen2 er begge talværdier hentet fra en formular. eks. 20010101
Hov, kom lige til at se at min Function laver unødvendigt mange kald til DatePart....
Nedenstående er optimeret lidt, laver halvt så mange kald (er dog ikke testet):
Function WorkdayDiff(dtmStart, dtmEnd) WorkdayDiff = 0 For i = 1 To DateDiff(\"d\", dtmStart, dtmEnd) intDoW = DatePart(\"w\", dtmStart + i) If intDoW <> 7 And intDoW <> 1 Then WorkdayDiff = WorkdayDiff +1 Next End Function
Da ingen gav et komplet løsningssvar på mit spørgsmål trækker jeg 100 point fra.
TMCEU: 100 point for et næsten rigtigt svar, vedr. uge minus lør-søn, ugen i dit svar går fra søndag til og med torsdag.
SOERENS: 50 point for svaret dog hverken testet eller brugt.
Håber at I kan leve med pointfordelingen.
Synes godt om
Ny brugerNybegynder
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.