Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verbindungsdatei .odc / ODBC-Verbindung

Forumthread: Verbindungsdatei .odc / ODBC-Verbindung

Verbindungsdatei .odc / ODBC-Verbindung
27.07.2016 14:32:43
Chris
Hallo,
ich habe in einer Arbeitsmappe unter "Verbindungen" eine Arbeitsmappenverbindung. Diese ist in einer .odc-Datei definiert. Wenn ich mir die Eigenschaften dieser Verbindung ansehe, dann gibt es im Fenster "Verbindungseigenschaften" den Befehlstext. Hier steht die SQL-Anweisung die per ODBC an die Datenbank absetzt wird. Die entsprechenden Daten landen dann im definierten Arbeitsblatt.
Meine Frage ist: kann ich diese SQL-Anweisung eventuell per VBA anpassen? Oder kann ich in dieses SELECT auf eine Zelle in Excel verweisen? Dann könnte ich diese Abfrage quasi dynamisch gestallten, je nachdem was in dieser Zelle steht!
Vielen Dank für jegliche Hilfe!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verbindungsdatei .odc / ODBC-Verbindung
27.07.2016 15:02:30
Michael
Hallo Chris!
Kann man natürlich schwer nachbauen bzw. testen, aber grds. kann ich mir vorstellen, dass das klappen könnte, da ja die Verbindungseinstellung ein String ist, der wohl neu zusammengesetzt werden kann - also auch mit einem Zellwert.
Schau Dir mal den Faden an: http://stackoverflow.com/questions/20114223/modify-an-embedded-connection-string-in-microsoft-excel-macro
Lg
Michael
Anzeige
AW: Verbindungsdatei .odc / ODBC-Verbindung
27.07.2016 15:37:06
Chris
Hallo Michael,
vielen Dank für diese schnelle Antwort!
Das sieht tatsächlich sehr hilfreich auch und sollte mir genügend Ansatzpunkte geben!
Danke nochmals!
LG, Chris
Gerne, kein Thema, viel Erfolg! owT
27.07.2016 15:38:32
Michael
;
Anzeige

Infobox / Tutorial

Verbindungsdatei .odc und ODBC-Verbindung in Excel nutzen


Schritt-für-Schritt-Anleitung

  1. Verbindung erstellen:

    • Öffne Excel und gehe zu "Daten" > "Abrufen und transformieren" > "Daten abrufen".
    • Wähle "Aus anderen Quellen" und dann "ODBC".
    • Gib die erforderlichen Verbindungsinformationen ein und speichere diese als .odc-Datei.
  2. Verbindungseigenschaften einsehen:

    • Klicke mit der rechten Maustaste auf die Verbindung unter "Verbindungen" und wähle "Verbindungseigenschaften".
    • Hier siehst du den Befehlstext, der die SQL-Anweisung enthält.
  3. VBA zur Anpassung nutzen:

    • Öffne den VBA-Editor mit ALT + F11.
    • Füge ein neues Modul hinzu und verwende folgenden Code, um die SQL-Anweisung dynamisch zu gestalten:
      Sub UpdateConnection()
       Dim conn As WorkbookConnection
       Set conn = ThisWorkbook.Connections("DeineVerbindung") ' Anpassung notwendig
       conn.OLEDBConnection.CommandText = "SELECT * FROM Tabelle WHERE Spalte = '" & Range("A1").Value & "'"
      End Sub
    • Ersetze "DeineVerbindung" durch den Namen deiner Verbindung und "Tabelle" sowie "Spalte" entsprechend deiner Daten.

Häufige Fehler und Lösungen

  • Fehler: Verbindung kann nicht hergestellt werden:

    • Überprüfe die ODBC-Datenquelle in der Systemsteuerung. Stelle sicher, dass die richtigen Treiber installiert sind.
  • Fehler: SQL-Anweisung wird nicht korrekt ausgeführt:

    • Stelle sicher, dass die SQL-Syntax korrekt ist. Teste die Abfrage zuerst in einem SQL-Tool.
  • Fehler: VBA-Code läuft nicht:

    • Überprüfe, ob die Verbindung richtig benannt wurde und ob die richtigen Zellreferenzen verwendet werden.

Alternative Methoden

  • Power Query:

    • Statt die .odc-Datei direkt zu nutzen, kannst du Power Query verwenden, um Daten aus einer ODBC-Verbindung abzurufen. Dies ermöglicht eine benutzerfreundliche Oberfläche zur Anpassung der Abfragen.
  • Direkte SQL-Verbindung:

    • In Excel kannst du auch direkt eine SQL-Verbindung über "Daten" > "Daten abrufen" > "Aus Datenbank" > "Aus SQL Server-Datenbank" herstellen.

Praktische Beispiele

  • Beispiel 1: Abfrage anpassen

    • Du könntest eine Abfrage erstellen, die basierend auf einem Verkaufsdatum in Zelle B1 den Umsatz abruft:
      conn.OLEDBConnection.CommandText = "SELECT Umsatz FROM Verkäufe WHERE Verkaufsdatum = '" & Range("B1").Value & "'"
  • Beispiel 2: Daten importieren

    • Verwende die ODBC-Verbindung, um eine gesamte Tabelle in Excel zu laden:
      conn.OLEDBConnection.CommandText = "SELECT * FROM Produkte"

Tipps für Profis

  • Datenvalidierung: Stelle sicher, dass die Zelle, auf die du in deiner SQL-Abfrage verweist, immer den richtigen Datentyp enthält (z.B. Text oder Datum).

  • Fehlerbehandlung in VBA: Füge Fehlerbehandlungsroutinen in deinen VBA-Code ein, um unerwartete Fehler besser zu handhaben.

  • Dokumentation: Halte deine .odc-Datei und den dazugehörigen VBA-Code gut dokumentiert, damit du und andere Benutzer die Logik später nachvollziehen können.


FAQ: Häufige Fragen

1. Kann ich eine .odc-Datei in einer anderen Excel-Datei verwenden?
Ja, du kannst die .odc-Datei in jeder Excel-Arbeitsmappe verwenden, indem du sie über "Daten" > "Verbindungen" hinzufügst.

2. Wie kann ich die ODBC-Verbindung testen?
Du kannst die ODBC-Verbindung über die ODBC-Datenquellenverwaltung in der Systemsteuerung testen. Stelle sicher, dass die Verbindung funktioniert, bevor du sie in Excel verwendest.

3. Ist VBA notwendig, um eine ODBC-Verbindung zu nutzen?
Nein, VBA ist nicht zwingend erforderlich, aber es ermöglicht dir, deine Abfragen dynamisch zu gestalten und automatisierte Prozesse zu erstellen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige