Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1764to1768
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aktualisierung bestehender Verbindung

Aktualisierung bestehender Verbindung
22.06.2020 18:44:31
Marko
Hallo zusammen,
ich möchte per VBA eine bestehende Datenverbindung zu einer (My-)SQL-Datenbank aktualisieren und dabei per VBA insbes. die SQL-Abfrage ändern. Ziel ist, nur die jeweils gerade relevanten Daten (für meine darauf aufbauenden Pivottabellen) aus SQL in den Excel-Cache zu ziehen, und eben nicht alle Daten (mehr als 100 Gb), wie mein Excel dies standardmäßig tut.
Per Macrorecorder erhält man folgendes:
With ActiveWorkbook.Connections("Meine_SQL_Abfrage").ODBCConnection
.BackgroundQuery = False
.CommandText = Array("Select ... from ... where ... ab hier dynamisch via VBA zu befüllen")
.CommandType = xlCmdSql
.Connection = Verbindungsdaten zu meiner SQL-Datenbank
.RefreshOnFileOpen = False
.SavePassword = True
.SourceConnectionFile = ""
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
End With
With ActiveWorkbook.Connections("Meine_SQL_Abfrage")
.Name = "Meine_SQL_Abfrage"
.Description = "Datenabfrage"
End With
ActiveWorkbook.Connections("Meine_SQL_Abfrage").Refresh
Sieht für mich eigentlich vernünftig aus, aber leider aktualisiert dieses Macro beim Ausführen nicht die existierende Abfrage ("Meine_SQL_Abfrage"), sondern erzeugt bei jedem Ausführen stets eine neue Abfrage, die jeweils nur "Verbindung" (in einem deutschen Excel) heißt. Alle Pivots nutzen dann diese neue Abfrage, statt die alte.
Was mache ich falsch? Natürlich könnte ich versuchen, im Nachgang die alte Verbindung zu löschen und die neue umzubenennen, aber erstens muss ich dann ermitteln, wie die neue "Verbindung" in anderen Sprachen heißt und zweitens fühlt sich das nicht sonderlich elegant an.
Powerpivot unterstützt meine IT übrigens nicht.
Vielen Dank für einen Tipp,
Marko

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktualisierung bestehender Verbindung
23.06.2020 06:51:51
Luschi
Hallo Marko,
nach meinem Wissen arbeitet ein SQL-Server so:
- Abfrage entgegen nehmen
- auf dem Server die Abfrage ausführen und
- nur die Ergebnismenge zurückschicken
Die Optimierung der Abfragen muß auf dem MySQL-Server erfolgen und kann nicht von außen erfolgen; siehe hier:
https://www.pc-erfahrung.de/sonstiges/webdesignwebentwicklung/mysql-abfragen-optimieren-und-slow-query-auffinden.html
Der Pivot-Cache ist eine Kopie -Daten Tabellendaten, die in der Pivot-Tabelle verarbeitet werden, da hinein kann man nichts reinschreiben/-kopieren.
Gruß von Luschi
aus klein-Paris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige