Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: SQL: Miten saan sql kyselyyn hakuehdon excel solusta?

VantaanPekka [31.10.2021 21:59:29]

#

Miten saan sql kyselyyn hakuehdon excel solusta?

Tarve tehdä tietokanta kyselyitä antamalla hakuun minimi vuosiluku?

Tämä vuosiluku ehto on tarkoitus syöttää excel soluun ja hakutulokset tulevat samaan exceliin.

Nyt ehto pitää aina mennä laittamaan hakuun sql kyselyn sisälle.

Hycke [01.11.2021 15:47:13]

#

Onko SQL kysely työkirjan tietolähteessä vai VBA koodissa?

VantaanPekka [01.11.2021 22:01:46]

#

Työkirjan tietolähteessä; ODBC-kysely.

Hycke [01.11.2021 23:22:36]

#

VBA:lla onnistuu helposti.

Oletetaan että tietolähteen nimi on Query1 ja solussa A1 on vuosiluku

Tietolähteen kysely löytyy objetista ActiveWorkbook.Queries.Item("Query1").Formula
Muokkaat Formulaa siten että korvaat vuosiluvun solun A1 arvolla, Soluun voit viitata koodissa esim. Range("A1").Value.

Kun kysely on muokattu tietolähteen päivitys onnistuu komennolla : ActiveSheet.ListObjects("Query1").QueryTable.Refresh

Sub Button1_Click()
    ActiveWorkbook.Queries.Item("Query1").Formula = " let " & _
    "Source = Sql.Database(""sql2021"", ""mydb"", [Query=""select * from table where year(createdate) = " & Range("A1").Value & """, CreateNavigationProperties=false]) " & _
    "in " & _
    " Source "
    ActiveSheet.ListObjects("Query1").QueryTable.Refresh BackgroundQuery:=False
End Sub

Koodin ajon voit triggeröidä vaikka napin taakse kuten esimerkissä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta