Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketAvend kriterie fra excel i SQL

 Besvar Besvar
Forfatter
tommyhermann Se dropdown
Forum Begynder
Forum Begynder
Avatar

Medlem: 31.Okt.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Emne: Avend kriterie fra excel i SQL
    Sendt: 01.Mar.2017 kl. 13:41
uploads/1831/kriterie.wmv
Vil gerne benytte kritere fra excel i en sql kode. Er det muligt.  Se vedhæftede video.
Til top



Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Accepteret svar Accepteret svar
Direkte link til dette indlæg Sendt: 05.Mar.2017 kl. 12:39
Fik ikke tid, til at lave et komplet eksempel til download  Unhappy

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 Smile
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.
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Direkte link til dette indlæg 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  Smile

Så, hvis du opretter din SQL forespørgsel i VBA kan du jo blot henvise til cellen i VBA koden  Geek
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.
Til top
tommyhermann Se dropdown
Forum Begynder
Forum Begynder
Avatar

Medlem: 31.Okt.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 02.Mar.2017 kl. 12:02
kan du prøve at lægge en kode herind som eksempel. Helst et simpel eksempel.
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Direkte link til dette indlæg 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.
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Accepteret svar Accepteret svar
Direkte link til dette indlæg Sendt: 05.Mar.2017 kl. 12:39
Fik ikke tid, til at lave et komplet eksempel til download  Unhappy

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 Smile
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.
Til top
tommyhermann Se dropdown
Forum Begynder
Forum Begynder
Avatar

Medlem: 31.Okt.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg 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.
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Direkte link til dette indlæg Sendt: 14.Apr.2017 kl. 13:02
Velbekomme  Smile

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  Geek

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 Wink

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.
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk