Avatar billede katborg Praktikant
13. marts 2003 - 22:33 Der er 16 kommentarer og
1 løsning

ODBC - sql

Hi *

Jeg har igennem længere tid arbejdet med at hente data fra forskellige databaser ind i excel vha. ODBC, hvilket heller ikke giver problemmer.

Men nu kunne jeg godt tænke mig at lave den import lidt mere smart, således at man fx. kunne have et kriterie stående i regnearket fx. i celle 'B2'.

Ideen skulle så være at man kunne indtaste et nyt kriterie i 'B2', opdatere data, og så skulle forespørgslen bruge det nye kriterie.

Men ... je ka' ik' få det til at virke :-(

Jeg har lavet et lille primitivt eksempel, hvor jeg valgt data->Importere eksterne data->Ny databaseforespørgsel - next-next.... få vist forespørgsel i sql.

Som jeg så har prøvet at rette lidt til flg.

SELECT Lukkede.Firmanavn, Lukkede.Firma, Lukkede.Stillingbetegnelse, Lukkede.`Modtage accept`, Lukkede.Samtale, Lukkede.Afslag
FROM Lukkede Lukkede
WHERE (Lukkede.Firmanavn Like ' " & Cells(2,2) & " ')

I Celle 'B2' har jeg så prøvet at skrive fx. 'A%', så skulle jeg egentligt få alle data, med firmanavn der starter med 'A' - men jeg får ingen ting ??????????
Avatar billede sjap Praktikant
13. marts 2003 - 22:48 #1
Har du kontrolleret om sætningen overhovedet virker. Altså f.eks. prøvet den uden WHERE delen?
Avatar billede sjap Praktikant
13. marts 2003 - 22:49 #2
Der skal vel ikke stå "Lukkede" to gange i FROM sætningen.
Avatar billede sjap Praktikant
13. marts 2003 - 22:51 #3
Det gælder vistnok ikke altid, men nogen gange skal SQL sætningen afsluttes med et semikolon (;)
Avatar billede bak Forsker
13. marts 2003 - 23:01 #4
Avatar billede sjap Praktikant
13. marts 2003 - 23:01 #5
I den type SQL som jeg kender (MS Access) skal navne med specialtegn (som f.eks. mellemrum) skrives som f.eks.

Lukkede.[Modtage accept]

Jeg ved dog ikke om det er standard.
Avatar billede bak Forsker
13. marts 2003 - 23:05 #6
det, det drejer sig om i msquery at få vist kriterier.
under Firmanavn skriver du
Like [test]
Dette betyder at du har indsat en parameter.
Når msquery returner til excel, trykker du på knappen parametre og vælger din celle b2 og at den altid skal hente den derfra.
Avatar billede sjap Praktikant
13. marts 2003 - 23:06 #7
Det går rigtig godt det her. Det her bliver så den sidste kommentar fra mig i aften:

Prøv eventuelt at skrive A* i stedet for A%. * er også Access standard. Jeg ved godt at % er gængs standard, men ved dog ikke hvad der skal bruges i Excel.

Nu er der vist også muligheder nok at se på.
Avatar billede bak Forsker
13. marts 2003 - 23:07 #8
Rigtigt superjab. de firkantede paranteser angiver at her skal der spørges om en parameter, dette gælder også i Access
Avatar billede bak Forsker
13. marts 2003 - 23:12 #9
også rigtigt med stjernen, både excel og access
Avatar billede sjap Praktikant
13. marts 2003 - 23:12 #10
bak. Det gælder kun hvis navnet i de firkantede parenteser ikke er et navn på et af felterne i tabellen, for så opfattes det som en henvisning til feltet.
13. marts 2003 - 23:15 #11
Har ikke læst alle indlæg, men kunne det tænkes at Cells(2,2) blot skal konverteres til en string således Cstr(Cells(2,2)) ??
Avatar billede bak Forsker
13. marts 2003 - 23:31 #12
Hvorfor skal det være så enkelt, Flemming :-)
Velkommen på banen igen.......
13. marts 2003 - 23:46 #13
Jeg ved heller ikke om det er løsningen - er ikke på banen men hopper bare lige over sporet (er jo sikkert nok i disse tog tider!!!)
Avatar billede katborg Praktikant
14. marts 2003 - 00:23 #14
Tak for de mange forslag
>Superjab: Ja forespørgslen virker fint hvis jeg fjerner kriterie eller fx. skriver "WHERE (Lukkede.Firmanavn Like 'a%')"

BAK:
http://www.eksperten.dk/spm/245515
Virker sådan set, men den kræver vist 100% korrekt stavning af hele indholdet i feltet ?? Eller er der noget som jeg gør forkert ?

Har fundet ud af det, skriver man:

WHERE (Lukkede.Firmanavn Like ?), kan man fx. skrive A% i 'B2' :o))

Man kan faktisk lave en formel i 'B2', som fx. tester 'A2'
fx. =HVIS(A2="";"%";A2&"%")

Det må jeg eksperimentere mere med i morgen på arbejdet !!

Kanon BAK ligger du et svar ??
Avatar billede bak Forsker
14. marts 2003 - 00:36 #15
Ok, og godnat herfra :-)
Avatar billede katborg Praktikant
14. marts 2003 - 00:37 #16
BAK>

WHERE (Lukkede.Firmanavn Like ?)

Det skrev du egentligt også 13/03-2003 23:05:45 :-)

Det går fint med at skrive 'A%' i Excel, skriver jeg 'A*' kommer der ingen data
Avatar billede bak Forsker
14. marts 2003 - 09:15 #17
Godt det virker, katborg.
Og du har ret i at % virker...:-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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