06. april 2006 - 21:32Der er
14 kommentarer og 1 løsning
Datoberegning (dato på første og sidste dag i den aktuelle uge)
Hej Eksperter, et lille tricky problem:
På min form har jeg to ubunde tekstbokse "tx1JobDato", "tx2Jobdato. Begge tekstbokse er formateret som dato/klokkeslet (kort datoformat)
Jeg har så 2 knapper "cmd1", "cmd2"
Når jeg klikker på cmd1 skal datoen på den første dag i den aktuelle uge skrives i tx1Jobdato, i tx2Jobdato skal datoen skrives for den sidste dag i den aktuelle uge.
Det samme skal ske når jeg klikker på cmd2, men her skal det være næste uge.
Et eks: i dag er det torsdag den 6 april 2006, klikker jeg så på cmd1 skal datoen for i mandags skrives i tx1Jobdato, og datoen for på søndag skrives i tx2Jobdato
Klikker jeg på cmd2 skal datoen for næste mandag skrives i tx1Jobdato, og datoen for næste søndag skrives i tx2JobDato
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Function FirstOfWeek(Optional dteDate As Date) As Date If CLng(dit datofelt) = 0 Then dit datofelt = Date End If FirstOfWeek = dit datofelt - Weekday(dteDate) + 1 End Function
Function LastOfWeek(Optional dteDate As Date) As Date If CLng(dit dato felt) = 0 Then dit datofelt = Date End If LastOfWeek = dit datofelt - Weekday(dteDate) + 7 End Function
Begge funktioner forudsætter, at Søndag er første dag i ugen
Hej mugs, tak for indlæggende, men jeg har problemer med at få det til at virke, først melder den fejl på værdien Null, hvis jeg så ændre lidt på koden skriver den blot dags dato, og ikke datoen på den første dag i ugen. Jeg mener at den første dag i ugen beregnes fra mandag og ikke søndag
Synes godt om
Slettet bruger
06. april 2006 - 22:40#4
Du kan jo altid stave dig igennem!~)
Returnér ugedagen og så lav en simpel vb, a'la IF ReturFeltEllerStrengEllerAndet = onsdag THEN FørsteDag = Dato-2 osv..
Okay, tak so far, det er sengetid, jeg kikker på det igen i morgen sov godt til alle
Hilsen Anders.
Synes godt om
Slettet bruger
06. april 2006 - 23:00#6
Jeg ved godt jeg ikke er den store programmør, men det her virker!~)
ps. dansk udgave af access, måske skal du lave den engelske eller hvordan og hvorledes ved jeg ikke... jeg har ikke mulighed for at teste på sprog lige nu!~)
If Format(Me.Dato, "ddd", vbMonday) = "ma" Then Me.ForsteDag = Me.Dato Me.SidsteDag = Me.Dato + 6 End If If Format(Me.Dato, "ddd", vbMonday) = "ti" Then Me.ForsteDag = Me.Dato - 1 Me.SidsteDag = Me.Dato + 5 End If If Format(Me.Dato, "ddd", vbMonday) = "on" Then Me.ForsteDag = Me.Dato - 2 Me.SidsteDag = Me.Dato + 4 End If If Format(Me.Dato, "ddd", vbMonday) = "to" Then Me.ForsteDag = Me.Dato - 3 Me.SidsteDag = Me.Dato + 3 End If If Format(Me.Dato, "ddd", vbMonday) = "fr" Then Me.ForsteDag = Me.Dato - 4 Me.SidsteDag = Me.Dato + 2 End If If Format(Me.Dato, "ddd", vbMonday) = "lø" Then Me.ForsteDag = Me.Dato - 5 Me.SidsteDag = Me.Dato + 1 End If If Format(Me.Dato, "ddd", vbMonday) = "sø" Then Me.ForsteDag = Me.Dato - 6 Me.SidsteDag = Me.Dato End If
Synes godt om
Slettet bruger
06. april 2006 - 23:17#7
Private Sub cmd1_Click() If Format(Date, "ddd", vbMonday) = "ma" Then Me.tx1Jobdato = Date Me.tx2Jobdato = Date + 6 End If If Format(Date, "ddd", vbMonday) = "ti" Then Me.tx1Jobdato = Date - 1 Me.tx2Jobdato = Date + 5 End If If Format(Date, "ddd", vbMonday) = "on" Then Me.tx1Jobdato = Date - 2 Me.tx2Jobdato = Date + 4 End If If Format(Date, "ddd", vbMonday) = "to" Then Me.tx1Jobdato = Date - 3 Me.tx2Jobdato = Date + 3 End If If Format(Date, "ddd", vbMonday) = "fr" Then Me.tx1Jobdato = Date - 4 Me.tx2Jobdato = Date + 2 End If If Format(Date, "ddd", vbMonday) = "lø" Then Me.tx1Jobdato = Date - 5 Me.tx2Jobdato = Date + 1 End If If Format(Date, "ddd", vbMonday) = "sø" Then Me.tx1Jobdato = Date - 6 Me.tx2Jobdato = Date End If End Sub
Private Sub cmd2_Click() If Format(Date, "ddd", vbMonday) = "ma" Then Me.tx1Jobdato = Date + 7 Me.tx2Jobdato = Date + 13 End If If Format(Date, "ddd", vbMonday) = "ti" Then Me.tx1Jobdato = Date + 6 Me.tx2Jobdato = Date + 12 End If If Format(Date, "ddd", vbMonday) = "on" Then Me.tx1Jobdato = Date + 5 Me.tx2Jobdato = Date + 11 End If If Format(Date, "ddd", vbMonday) = "to" Then Me.tx1Jobdato = Date + 4 Me.tx2Jobdato = Date + 10 End If If Format(Date, "ddd", vbMonday) = "fr" Then Me.tx1Jobdato = Date + 3 Me.tx2Jobdato = Date + 9 End If If Format(Date, "ddd", vbMonday) = "lø" Then Me.tx1Jobdato = Date + 2 Me.tx2Jobdato = Date + 8 End If If Format(Date, "ddd", vbMonday) = "sø" Then Me.tx1Jobdato = Date + 1 Me.tx2Jobdato = Date + 7 End If End Sub
08/04-2006 11:36:15 testet, det virker perfekt :o), tusind tak for hjælpen
Hilsen Anders.
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.