Avatar billede dynrambo Nybegynder
17. april 2009 - 11:09 Der er 2 kommentarer

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.
Avatar billede supertekst Ekspert
17. april 2009 - 19:12 #1
Hvordan ser koden ud - helt eksakt?

Har i Excel 2003 via VBA/SQL til en DB modificeret elementer i selve SQL-sætningen - så det skulle nok kunne lade sig gøre.
Avatar billede dynrambo Nybegynder
20. april 2009 - 09:42 #2
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...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester