Avatar billede rodding Juniormester
20. marts 2002 - 15:26 Der er 10 kommentarer og
1 løsning

Excel/MS Query

Via MS Query henter jeg nogle data ind i Excel fra en database.
En af felterne er et datofelt som jeg bruger som kreterie for om jeg vil have indlæst recorden.

Som i kan se af følgende har jeg i ms query indtastet en fra og til dato:

SELECT GLOL.OLVANR, GLOL.OLLBNR
FROM SYSNAME.QS36F.GLOL GLOL, SYSNAME.QS36F.GLOM GLOM
WHERE GLOM.OMORNR = GLOL.OLORNR AND GLOM.OMKUNR = GLOL.OLKUNR AND ((GLOM.OMLDAT>=20020304 And GLOM.OMLDAT<=20020306))
ORDER BY GLOL.OLVANR, GLOL.OLLBNR

Kunne jeg istedet fortælle at fra og til dato står i celle A1 OG A2 i det aktuelle regneark?
Avatar billede bak Forsker
20. marts 2002 - 17:12 #1
Nej. det er ikke muligt i msquery. Du har en ren SQL sætning og her kan man ikke sætte værdier fra excel ind.
Du kan måske eksperimentere med at bruge Now()-x dage i din sætning.
Avatar billede bak Forsker
21. marts 2002 - 09:52 #2
Du har dog en anden mulighed, nemlig at køre forespørgslen fra et VBA-program, men det anhænger lidt hvilken type database du er koblet på.
Avatar billede rodding Juniormester
22. marts 2002 - 08:03 #3
Det er op mod en AS400.
Avatar billede bak Forsker
22. marts 2002 - 11:58 #4
Prøv at sende den lille .dqy fil som MSQuery har lavet til denne overførsel. I den er der nemlig nogle koder som muliggør overførsel samt sql-strengen.
Jeg vil ikke love, at jeg kan lave det, men jeg vil gerne prøve.

Send til tommybak@netscape.net
Avatar billede bak Forsker
23. marts 2002 - 12:33 #5
Beklager mit forkerte svar, men man kan da heldigvis blive klogere.
Det er nemlig muligt at søge på værdier fra celler i en forespørgsel i MSQuery.
I MSquery klikker du på vis kriterier (hvis de ikke allerede er fremme).
I stedet for at skrive en dato ex >=200200304 skriver du
>=[startdato]
og i den anden dato skriver du
<=[slutdato]
Husk firkantparanteserne.
Du har nu oprettet en parameterforspørgsel.
Gem den og returner data til Excel i fx. A4.
Du bliver nu spurgt om parametrene. Bare indtast 2 datoer og disse data bliver så overført.
Du skal nu stille dig i A4, højreklikke og vælge Parametre.
Du får nu vist dine parametre (startdato og slutdato).
For hver af diise skal du vælge "Hent værdien i følgende celle" og udpege de celler du vil bruge værdier fra (ex. A1 og A2), samt evt. sætte flueben i "Opdater automatisk når celleværdien ændrer sig".
Det er smartest hvis du har skrevet 2 værdier i forvejen.
Når du nu ændrer i A1 eller A2 kører forespørgslen automatisk og du får nye data i arket.

/BAK
Avatar billede rodding Juniormester
23. marts 2002 - 20:58 #6
Det ser godt ud - jeg tester når jeg kommer på arbejde på mandag.

Preben
Avatar billede rodding Juniormester
26. marts 2002 - 08:29 #7
Ja, det er jo måden at gøre det - tak for det.

Jeg kommer dog ikke helt igennem, for når jeg har udpeget cellen for startdato og trykker enter kommer følgende fejl:

[IBM][Client Access Express ODBC-driver (32-bit)] Ugyldig skalaværdi.

Har du et bud på det?
Avatar billede bak Forsker
26. marts 2002 - 09:58 #8
Nej, det lyder som et rent ODBC-driver problem, men husk nu ikke at skrive rigtige datoer i A1 og A2, men kun tekst/tal.
Altså skriv 20020306 og ikke 2002-03-06
Avatar billede bak Forsker
26. marts 2002 - 10:00 #9
Lige lidt mere. Husk at udfylde A1 og A2 med datoer inden du starter proceduren ellers får du en fejlmelding, når du udpeger en blank celle.
Avatar billede rodding Juniormester
26. marts 2002 - 10:46 #10
Ok - jeg forsøger
Avatar billede rodding Juniormester
26. marts 2002 - 20:50 #11
Bare lige til orientering så er det Excel97 der har fejlen, der er ingen problemer i Excel2000
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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