12. maj 2011 - 14:32Der er
7 kommentarer og 1 løsning
Sidste kvartal
Arbejder med en forespørgsel og skal bruge den sidste dag i det sidste kvartal. Eksempel: Dags dato er 12. maj 2011, så jeg skal have Access til at give mig datoen 31. marts 2011. Jeg har behov for en løsning uden brug af kode, dvs. kun ved brug af indbyggede funktioner (dateadd m.fl.) Har nogen en ide?
Jeg tror ikke, at Access indbyggede funktioner kan give dig hvad du ønsker.
Denne gør ud fra dags dato:
Function FirstOfQuarter(Optional dteDate As Date) As Date If CLng(dteDate) = 0 Then dteDate = Date End If FirstOfQuarter = DateSerial(Year(dteDate), Int((Month(dteDate) - 1) / 3) * 3 + 1, 1) - 1 End Function
Kopier min kode ind i et modul. I en formular indsætter du denne kode i formularens VedAftuel (current) som et hændelsesmodul:
Me.DITFELT = FirstOfQuarter
DITFELT vil herefter altid få tildelt værdien af funktionen. Hvis du vil have funktionen returneret til en forespørgsel, kan du indsætte denne i forespørgslen:
Meget smart!!! Mange tak. Det virker i forespørgslen. Der er bare det problem, at når jeg forsøger at hente forespørgslen ind i Excel via Data/Importer eksterne data/Ny databaseforespørgesel så får jeg en fejl:
"Der er en ikke-defineret funktion "firstofquarter" i udtrykket."
Og så stopper festen...
Fra Excel forsøgte jeg også at redigere kaldet til databasen i Microsoft Query. Her får jeg fejlen "Kan ikke få adgang til felter i tabellen..."
Prøv at eksportere fra Access til Excel, så fungerer det her. Indsæt denne kode i en kommandoknap. Du skal ændre forespørgsel1 tiol navnet på din forespørgsel:
DoCmd.TransferSpreadsheet acExport, 8, "forespørgsel1", "C:\Documents and Settings\mugs\Skrivebord\mappe1", True, ""
Tak skal du have. Du mangler blot at acceptere mit svar. God weekend.
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.