Avend kriterie fra excel i SQL
Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Generelt
Forum beskrivelse: Hjælp til generel daglig brug af programmet Excel
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=2961
Udskrevet den: 02.Mar.2025 kl. 22:09
Emne: Avend kriterie fra excel i SQL
Besked fra: tommyhermann
Emne: Avend kriterie fra excel i SQL
Posteringsdato: 01.Mar.2017 kl. 13:41
uploads/1831/kriterie.wmv" rel="nofollow - uploads/1831/kriterie.wmv Vil gerne benytte kritere fra excel i en sql kode. Er det muligt. Se vedhæftede video.
|
Svar:
Besked fra: EXCELGAARD
Posteringsdato: 02.Mar.2017 kl. 07:58
Well, jeg ved ikke om det er muligt direkte i en SQL kommando, at henvise til en celle, men jeg plejer, at oprette mine SQL forespørgsler i VBA, og så er det jo ingen sag 
Så, hvis du opretter din SQL forespørgsel i VBA kan du jo blot henvise til cellen i VBA koden 
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
Besked fra: tommyhermann
Posteringsdato: 02.Mar.2017 kl. 12:02
kan du prøve at lægge en kode herind som eksempel. Helst et simpel eksempel.
|
Besked fra: EXCELGAARD
Posteringsdato: 03.Mar.2017 kl. 08:06
Ja, jeg prøver lige, at finde tid tid til at digte noget op i weekenden...
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
Besked fra: EXCELGAARD
Posteringsdato: 05.Mar.2017 kl. 12:39
Fik ikke tid, til at lave et komplet eksempel til download 
Men, i bund og grund er det ikke svært...
Hvis du, i din makro/VBA kode, har defineret din SQL kommando i en variabel, f.eks.
QueryCommand = QueryCommand & "Select * From 'Tabel' " QueryCommand = QueryCommand & "Where 'Dato' = {ts 2017-03-05} " | ...og, du ønsker datoen hentet fra celle A1 i det aktive regneark, skal du blot udskifte det 'hardcoded' kriterie med en reference til cellen:
QueryCommand = QueryCommand & "Select * From 'Tabel' " QueryCommand = QueryCommand & "Where 'Dato' = {ts " & Format(ActiveSheet.Range("A1").Value, "yyyy-mm-dd") & "} " |
Men, emnet er måske værd, at lave en lille artikel om på min hjemmeside - der er jo 'opdateringssøndag' på næste søndag 
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
Besked fra: tommyhermann
Posteringsdato: 14.Apr.2017 kl. 08:13
Tak for forklaring. Jeg har nu lavet min første SQL udtræk via VBA. Ulempen ved metoden fremfor at lave dem i Studio management er dog at de er frygtelige langsomme via VBA. Såfremt der skal trækkes store datamængder ud, så forestrækker jeg studio management.
|
Besked fra: EXCELGAARD
Posteringsdato: 14.Apr.2017 kl. 13:02
Velbekomme 
Jeg har svært ved at se, hvorfor det skulle være langsommere via VBA, da det jo er SQL databasen, der laver alt arbejdet???
Med mindre, du har "glemt" at sætte applikationen "på pause", mens du laver udtrækket 
Du ved:
With Application .Cursor = xlWait .EnableEvents = False .DisplayAlerts = False .ScreenUpdating = False .Calculation = xlCalculationManual End With | ...og, så, selvfølgelig, tilbage igen, når din makro er færdig 
Hvis du ikke sætter applikationen "på pause", mens du laver udtrækket, vil Excel jo stå og beregne på alt, mens der importeres (og, så er det igen ikke VBA, der er synderen, men selve Excel).
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
|