09. oktober 2006 - 11:49Der er
8 kommentarer og 1 løsning
Konvertering til dato
Er det, i VBA, muligt at konvertere 200601 til d. første dag i januar (01-01-2006) og d. sidste dag i januar (31-01-2006)
Sagen er at min forespørgsel skal hente data for en bestemt måned, som i den ene tabel står på formen yyyymm og i tabellen der skal hentes fra på formen dd-mm-yyyy Jeg vil jo helst gerne undgå en første/sidste dag i måneden lookup tabel...
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Nærmeste er at lave 2 funktioner som finder hhv. første og sidste dag i måneden.
Public Function EOMonth(InputDate As Date, Optional MonthsToAdd As Integer) ' Returns the date of the last day of month, a specified number of months ' following a given date. Dim TotalMonths As Integer Dim NewMonth As Integer Dim NewYear As Integer
If IsMissing(MonthsToAdd) Then MonthsToAdd = 0 End If
If NewMonth = 0 Then NewMonth = 12 NewYear = NewYear - 1 End If
Select Case NewMonth Case 1, 3, 5, 7, 8, 10, 12 EOMonth = DateSerial(NewYear, NewMonth, 31) Case 4, 6, 9, 11 EOMonth = DateSerial(NewYear, NewMonth, 30) Case 2 If Int(NewYear / 4) = NewYear / 4 Then EOMonth = DateSerial(NewYear, NewMonth, 29) Else EOMonth = DateSerial(NewYear, NewMonth, 28) End If End Select End Function
Hmmmm....hvis f.eks. strengdato = 200609, vil "fra" komme til at indeholde værdien 01-09-2006 og "til" 30-09-2006, hvilket i forespørgslen vil bliver konverteret til 09-01-2006 ("til"-feltets værdi bibeholdes) Hvordan kan jeg sikre at Access kan forstå at der menes 01-09-2006 og ikke 09-01-2006? Der er tale om sammenkædede tabeller (.dbf filer)
Det er straks værre, hvis du vil til at beregne arbejdsdage, for så skal du også, ud over de faste fridage, til at tage hensyn til skæve helligdage, som baserer sig på påskedag, som igen baserer sig på månekalenderen. Det er meget sjovt! ;-)
Har du først fundet påskedag, er alle de andre helligdage bare forskudt et fast antal dage i forhold til denne.
Have fun!
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.