Forfatter |
Emne Søg Emne funktioner
|
tommyhermann
Forum Begynder
Medlem: 31.Okt.2016
Land: Danmark
Status: Offline
Point: 14
|
Emne: Avend kriterie fra excel i SQL Sendt: 01.Mar.2017 kl. 13:41 |
uploads/1831/kriterie.wmvVil gerne benytte kritere fra excel i en sql kode. Er det muligt. Se vedhæftede video.
|
 |
|
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Accepteret svar
Sendt: 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.
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 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.
|
 |
tommyhermann
Forum Begynder
Medlem: 31.Okt.2016
Land: Danmark
Status: Offline
Point: 14
|
Sendt: 02.Mar.2017 kl. 12:02 |
kan du prøve at lægge en kode herind som eksempel. Helst et simpel eksempel.
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 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.
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Accepteret svar
Sendt: 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.
|
 |
tommyhermann
Forum Begynder
Medlem: 31.Okt.2016
Land: Danmark
Status: Offline
Point: 14
|
Sendt: 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.
|
 |
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5479
|
Sendt: 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.
|
 |