Query Abfrage per Makro aktualisieren
Schritt-für-Schritt-Anleitung
-
Makro erstellen: Öffne Excel und gehe zum VBA-Editor (Alt + F11).
-
Neues Modul hinzufügen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" -> "Modul".
-
Code einfügen: Füge den folgenden Code ein, um die Query Abfrage zu aktualisieren:
Sub UpdateQuery_ACC3()
Dim strVariable As String
strVariable = Format(Date, "YYYY-MM-DD")
Sheets("Abfrage von DWH-neu_NCO").Select
With Selection.QueryTable
.Connection = _
"ODBC;DSN=DWH-neu2;UID=CrystelReportTC;PWD=xxx;APP=Microsoft Office XP;WSID=WS2107870;DATABASE=HPPCR3_TC"
.CommandText = Array("SELECT calltypefifteenmin.recordtimestamp, calltypefifteenmin.calltypekey, " & _
"calltypefifteenmin.numreceived FROM HPPCR3_TC.dbo.calltypefifteenmin " & _
"WHERE (calltypefifteenmin.recordtimestamp >= {ts '" & strVariable & " 08:00:00'} " & _
"AND calltypefifteenmin.recordtimestamp <= {ts '" & strVariable & " 19:00:00'})")
.Refresh
End With
End Sub
-
Makro ausführen: Schließe den VBA-Editor und führe das Makro über "Entwicklertools" -> "Makros" aus.
Häufige Fehler und Lösungen
-
Fehler: Verbindung zur Datenbank kann nicht hergestellt werden
Lösung: Überprüfe die DSN-Einstellungen in der ODBC-Datenquelle und stelle sicher, dass der Benutzername und das Passwort korrekt sind.
-
Fehler: Abfrage liefert keine Daten zurück
Lösung: Stelle sicher, dass die Datumsvariablen korrekt formatiert sind und dass Daten in dem angegebenen Zeitraum vorhanden sind.
Alternative Methoden
Eine alternative Möglichkeit, Power Query automatisch zu aktualisieren, ist die Verwendung von Excel-Tabellen. Du kannst die Datenquelle so konfigurieren, dass sie die Daten bei jedem Öffnen der Datei aktualisiert. Gehe dazu in die Abfrageeinstellungen und aktiviere die Option "Daten beim Öffnen der Datei aktualisieren".
Praktische Beispiele
Hier ist ein Beispiel für eine Excel-Datei, in der die Daten von einer ODBC-Datenbank per Makro aktualisiert werden. Du kannst den oben genannten Code verwenden und anpassen, um deine speziellen Anforderungen zu erfüllen.
Wenn du mit Daten arbeitest, die regelmäßig aktualisiert werden müssen, kannst du auch einen Timer in VBA implementieren, der das Makro automatisch zu festgelegten Zeiten ausführt.
Tipps für Profis
-
Verwende Fehlerbehandlungsroutinen: Um sicherzustellen, dass dein Makro robust ist, implementiere Error-Handling, um unerwartete Fehler abzufangen.
-
Automatisiere die Aktualisierung: Du kannst das Makro so planen, dass es zu bestimmten Zeiten automatisch ausgeführt wird, indem du die Windows Aufgabenplanung verwendest.
-
Verwende Debugging-Techniken: Nutze die Debugging-Tools von VBA, um Probleme schnell zu identifizieren und zu beheben.
FAQ: Häufige Fragen
1. Wie kann ich die Abfrage so einstellen, dass sie automatisch aktualisiert wird?
Du kannst die Abfrageeinstellungen in Power Query so anpassen, dass sie beim Öffnen der Datei oder in festen Intervallen aktualisiert wird.
2. Kann ich das Datum dynamisch anpassen?
Ja, indem du die Format(Date, "YYYY-MM-DD") Methode verwendest, kannst du das aktuelle Datum dynamisch in deinen Abfragen verwenden.
3. Welche Excel-Version benötige ich für die Verwendung von Power Query?
Power Query ist in Excel 2010 und späteren Versionen verfügbar, jedoch kann die Benutzeroberfläche und Funktionalität je nach Version variieren.