Marec66
26.08.13,12:21
Ahojte v exceli 2010 vytvorím selekt (formou query, nie pivotka) ktorého súčasťou by mala byť deklarovaná premenná. Jej hodnotu by som potreboval orientovať na jednu bunku priamo v exceli. Čiže po zmenení hodnoty v danej bunke a po spustení refresh by mi malo dať nové dáta. Máte s tým niekto skúsenosti?
PaloPa
26.08.13,11:45
Vzorový príklad

1| predpoklady: DB: MySQL databáza pripojená cez pomenované ODBC

2| predpokladáme, že link na ext SQL je už definovaný

3| vo vlastnostiach pripojenia, si treba pozrieť (resp. upraviť) SQL statement (viď obrázok)

4| Prepojenie (filtrácia) bunky z XLS na prísl. refreš selectu môže byť nasledovné:


Sub Tvoj_ReFreshSQL()

Dim xPodm As String
xPodm = Range("F2").Text

With ActiveWorkbook.Connections("Dotaz z Tvoho SQL").ODBCConnection
.BackgroundQuery = True
.CommandText = "SELECT title, point, grp01, grp02, region FROM TvojDB.TvojaTabulka" _
& " WHERE (region='" & xPodm & "') ORDER BY grp01, grp02, title"
.CommandType = xlCmdSql
.Connection = "ODBC;DSN=Tvoj-SQL;"
.Refresh
End With

End Sub

5| Prepojiť makro na nejaký button, resp. automaticky po zmene hodnoty.

Pozri jednotlivé obrázky (3 ks)

P.