Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

excel: sql-abfrage mit vba

Forumthread: excel: sql-abfrage mit vba

excel: sql-abfrage mit vba
27.06.2003 09:51:47
mitsch
hallo ihr meister,

hab da ein größeres problem. muss eine abfrage von einer sql datenbank in excel vornehmen. aber nicht über das microsoft query sondern per vba - und das verbunden mit einer suchfunktion. d.h. beispielsweise, ein kombinationsfeld mit z.b. allen namen die sich in der datenbank befinden - zum gewünschten datensatz auswählen.

hab momentan noch nicht wirklich einen ansatz, wie ich mich an das problem rantaste - über hilfe wäre ich wirklich sehr verbunden!

beste grüße - mitsch

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: excel: sql-abfrage mit vba
27.06.2003 13:08:41
andre

hallo mitsch,
vba kann auch mit query. du musst dir den entsprechenden sql-string erstellen und an query übergeben.
in etwa so:
varName="willi"
sql_string(1) = "select name1, name2, pfad "
sql_string(2) = "from db_typ "
sql_string(3) = "WHERE TYP_NR__ = 0815 "
sql_string(4) = "and name1 = '" & varName & "'"
For i = 1 To 4
Application.Run "QueryDatenImportieren", "", _
sql_string(i) _
, , , , , False
Next i
Application.Run "QueryDatenImportieren", "DSN=MeineQuelle;DBQ=MeineQuelle;UID=Ich;PWD=Geheim", _
"", True, True, False, Range(blatt), True, True
wenn's das nicht ist - noch mal melden, habe auch was für dao.
gruss andre

Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

SQL-Abfragen in Excel mit VBA durchführen


Schritt-für-Schritt-Anleitung

  1. Excel vorbereiten: Stelle sicher, dass Du die benötigten Daten und eine Excel-Datei hast, in der Du die SQL-Abfrage durchführen möchtest. Du benötigst die Verbindungsdaten zu Deiner SQL-Datenbank.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Ein neues Modul hinzufügen: Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. SQL-String erstellen: Definiere den SQL-String, den Du verwenden möchtest. Hier ist ein Beispiel:

    Sub SQLAbfrage()
        Dim varName As String
        varName = "willi"
    
        Dim sql_string(1 To 4) As String
        sql_string(1) = "SELECT name1, name2, pfad"
        sql_string(2) = "FROM db_typ"
        sql_string(3) = "WHERE TYP_NR__ = 0815"
        sql_string(4) = "AND name1 = '" & varName & "'"
    
        Dim i As Integer
        For i = 1 To 4
            Application.Run "QueryDatenImportieren", "", sql_string(i), , , , , False
        Next i
    
        Application.Run "QueryDatenImportieren", "DSN=MeineQuelle;DBQ=MeineQuelle;UID=Ich;PWD=Geheim", "", True, True, False, Range("A1"), True, True
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Du kannst das Makro über Entwicklertools > Makros ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004": Diese Fehlermeldung tritt auf, wenn die SQL-Abfrage nicht korrekt ist. Überprüfe den SQL-String auf Syntaxfehler.

  • Fehler: "Verbindung zur Datenbank kann nicht hergestellt werden": Stelle sicher, dass die DSN-Daten korrekt sind und die Datenbank erreichbar ist. Überprüfe auch, ob Du die richtigen Berechtigungen hast.

  • Fehler: "Kein Ergebnis zurückgegeben": Überprüfe, ob die Bedingungen in Deiner WHERE-Klausel korrekt sind. Möglicherweise gibt es keine Datensätze, die den Kriterien entsprechen.


Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die Microsoft Query-Funktion in Excel verwenden. Damit kannst Du SQL-Abfragen visuell erstellen, ohne direkt mit VBA zu arbeiten.

  1. Gehe zu Daten > Abfragen und Verbindungen > Abfrage erstellen.
  2. Wähle Deine Datenquelle aus und folge den Anweisungen, um Deine SQL-Abfrage zu erstellen.

Praktische Beispiele

  1. Abfrage von Kundeninformationen:

    Sub KundenAbfrage()
        Dim sql_string As String
        sql_string = "SELECT * FROM Kunden WHERE Land = 'Deutschland'"
        Application.Run "QueryDatenImportieren", "", sql_string, , , , , False
    End Sub
  2. Suche nach bestimmten Produkten:

    Sub ProduktSuche()
        Dim produktName As String
        produktName = "Laptop"
        Dim sql_string As String
        sql_string = "SELECT * FROM Produkte WHERE Name LIKE '%" & produktName & "%'"
        Application.Run "QueryDatenImportieren", "", sql_string, , , , , False
    End Sub

Tipps für Profis

  • Nutze Parameter in Deinen SQL-Abfragen, um die Abfragen dynamisch zu gestalten.
  • Halte Deine SQL-Abfragen übersichtlich und gut dokumentiert, um später Fehler zu vermeiden.
  • Verwende Debug.Print, um Deine SQL-Strings vor der Ausführung zu überprüfen, falls Du Probleme hast.

FAQ: Häufige Fragen

1. Kann ich SQL-Abfragen auch ohne VBA durchführen?
Ja, Du kannst die Microsoft Query-Funktion in Excel verwenden, um SQL-Abfragen ohne VBA zu erstellen.

2. Welche Excel-Version benötige ich für die Verwendung von VBA mit SQL?
Die meisten modernen Excel-Versionen unterstützen VBA und SQL-Abfragen, jedoch solltest Du sicherstellen, dass Du eine Version hast, die VBA unterstützt, wie Excel 2010 oder neuer.

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