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

Ergebniss einer SQL-Abfrage in Variable speichern

Forumthread: Ergebniss einer SQL-Abfrage in Variable speichern

Ergebniss einer SQL-Abfrage in Variable speichern
01.06.2004 15:53:52
Wolfgang Bohlinger
Hallo Leute,
ich stehe vor follgendem Problem:
Ich habe eine Datenbank auf die ich mit Excel und ODBC zugreifen kann.
Dann habe ich noch eine Funktion in der ich auf einen Wert aus der DB zugreifen
möchte. Ich möchte diesen Wert (Integer) in einer Variablen speichern und dann damit in der Funktion weiter arbeiten.
Welche Möglichkeiten gibt es dazu?
gruß Wolfgang
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ergebniss einer SQL-Abfrage in Variable speichern
01.06.2004 16:51:27
andre
Hallo Wolfgang,
bei SQL brauchst Du den Umweg über eine Zelle. Wenns direkt sein soll nimm ADO oder DAO zu Hilfe.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

SQL-Abfrageergebnisse in Excel-Variablen speichern


Schritt-für-Schritt-Anleitung

Um das Ergebnis einer SQL-Abfrage in einer Variablen in Excel zu speichern, kannst du die folgenden Schritte ausführen:

  1. ODBC-Verbindung einrichten: Stelle sicher, dass du eine ODBC-Verbindung zu deiner Datenbank eingerichtet hast. Gehe dazu in die Systemsteuerung und konfiguriere die ODBC-Datenquellen.

  2. Excel öffnen: Starte Excel und öffne ein neues Arbeitsblatt.

  3. Daten abrufen:

    • Gehe zu Daten > Daten abrufen > Aus anderen Quellen > Aus ODBC.
    • Wähle deine ODBC-Datenquelle aus und klicke auf Verbinden.
  4. SQL-Abfrage erstellen:

    • Im Abfrage-Editor kannst du deine SQL-Abfrage eingeben. Zum Beispiel:
      SELECT Wert FROM Tabelle WHERE Bedingung;
  5. Ergebnisse in Zelle speichern:

    • Lade die Ergebnisse in eine Zelle, zum Beispiel A1.
  6. Wert in Variable speichern:

    • Du kannst den Wert in einer Variable in VBA speichern. Öffne den VBA-Editor (Alt + F11) und schreibe folgenden Code:
      Dim meinWert As Integer
      meinWert = Range("A1").Value

Jetzt kannst du mit meinWert in deiner Funktion weiterarbeiten.


Häufige Fehler und Lösungen

  1. Fehler: ODBC-Verbindung schlägt fehl

    • Lösung: Überprüfe die ODBC-Datenquellen und stelle sicher, dass die Verbindung zur Datenbank richtig eingerichtet ist.
  2. Fehler: SQL-Abfrage gibt keinen Wert zurück

    • Lösung: Überprüfe die SQL-Abfrage auf Syntaxfehler und stelle sicher, dass die Bedingung korrekt ist.
  3. Fehler: Wert kann nicht in Variable gespeichert werden

    • Lösung: Stelle sicher, dass die Zelle, aus der du den Wert abrufen möchtest, tatsächlich einen Wert enthält und dass der Datentyp übereinstimmt.

Alternative Methoden

Wenn du keine ODBC-Verbindung verwenden möchtest, kannst du auch ADO (ActiveX Data Objects) verwenden, um auf deine Datenbank zuzugreifen und die Ergebnisse in Variablen zu speichern. Hier ist ein einfaches Beispiel:

Dim conn As Object
Dim rs As Object
Dim meinWert As Integer

Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

conn.Open "Provider=SQLOLEDB;Data Source=DeinServer;Initial Catalog=DeineDatenbank;User ID=DeinBenutzername;Password=DeinPasswort;"
rs.Open "SELECT Wert FROM Tabelle WHERE Bedingung", conn

meinWert = rs.Fields(0).Value

rs.Close
conn.Close

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du das Ergebnis einer SQL-Abfrage in eine Variable speicherst:

  1. Angenommen, du hast eine Tabelle Mitarbeiter und möchtest den Gehalt eines bestimmten Mitarbeiters abrufen.
Dim conn As Object
Dim rs As Object
Dim gehalt As Double

Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

conn.Open "Provider=SQLOLEDB;Data Source=DeinServer;Initial Catalog=DeineDatenbank;User ID=DeinBenutzername;Password=DeinPasswort;"
rs.Open "SELECT Gehalt FROM Mitarbeiter WHERE ID = 1", conn

gehalt = rs.Fields(0).Value

rs.Close
conn.Close

MsgBox "Das Gehalt des Mitarbeiters beträgt: " & gehalt

Tipps für Profis

  • Nutze Parameter in deinen SQL-Abfragen, um die Sicherheit zu erhöhen und SQL-Injection zu vermeiden.
  • Speichere häufig genutzte Abfragen als Views in deiner Datenbank, um die Performance zu verbessern und die Wartbarkeit zu erhöhen.
  • Teste deine SQL-Abfragen direkt in einem SQL-Editor, bevor du sie in Excel verwendest, um sicherzustellen, dass sie korrekt sind.

FAQ: Häufige Fragen

1. Frage Kann ich auch mit Excel 2016 und älteren Versionen ODBC verwenden?

Antwort: Ja, die Verwendung von ODBC ist auch in Excel 2016 und älteren Versionen möglich. Stelle sicher, dass du die richtigen Treiber installiert hast.

2. Frage Wie kann ich die Ergebnisse direkt in eine Variable ohne Zelle speichern?

Antwort: Du kannst ADO verwenden, um die Ergebnisse direkt in eine Variable zu speichern, ohne sie zuerst in eine Zelle zu laden. Siehe den Abschnitt "Alternative Methoden" für ein Beispiel.

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