Auto-opdatering af SQL Query ved brug af ODBC i Excel 2007
Hej eksperter,
Jeg benytter Excel 2007 til at hente data fra en række SQL-tabeller. Ved hvert kvartal skal denne Query ændres, idet der oprettes en ny version af tabellen ved kvartals afslutning. Eksempel:
SELECT ItemID, Version FROM dbo.SalestockTotal WHERE (Version = CONVERT(DATETIME, '2009-04-01 00:00:00', 102))
I dette tilfælde er det parameteren '2009-04-01 00:00:00' jeg skal ændre til '2009-07-01 00:00:00' efter sidste dag i juni.
Jeg tænker på om det er muligt at lave en nested IF-sætning (eller et andet logisk udtryk) i regnearket, som ændrer ovenstående parameter i henhold til dags dato - og så derefter sætte Query'en lig med dette udtryk? På den måde håber jeg på at opnå den automatisering og dynamik der er nødvendig.
Der er faktisk mange forskellige SQL-koder, hvor jeg gerne vil have at versionen skifter automatisk, og ovenstående er én af dem. Så ovenstående kode er et eksempel på en kode jeg gerne vil opdatere automatisk.
Et andet eksempel er nedenstående:
SELECT Version, ItemGroupID, Description FROM dbo.ItemGroup WHERE (Version = CONVERT(DATETIME, '2009-04-01 00:00:00', 102))
Jeg har prøvet med MAX(Version):
SELECT MAX(Version), ItemGroupID, Description FROM dbo.ItemGroup GROUP BY ItemGroupID, Description
Problemet med denne er, at jeg da får versioner med som er ældre end 01-04-2009. Jeg er kun interesseret i at få de resultater med, som indeholder den sidste nye version.
Jeg har også forsøgt med TOP 1:
SELECT TOP 1 Version, ItemGroupID, Description FROM dbo.ItemGroup
Når jeg kører ovenstående, får jeg kun 1 resultat - jeg ønsker alle de resultater som har den seneste version (01-04-2009).
Vi anvender Excel 2007, og data ligger på en central server, som der er mange forskellige computere der kan hente data fra. Jeg ved ikke præcis hvilken DB-struktur der anvendes...
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.