Möchte aus einer SQL-Datenbank Daten auslesen und abspeichern (evtl. auch XML - File) und gleichzeitig in der Datenbank löschen!
Kann mir da jemand helfen?
mfg
Harald
Um Daten aus einer SQL-Datenbank auszulesen und in Excel zu speichern, kannst Du die folgenden Schritte befolgen. Dieses Vorgehen eignet sich für Excel-Versionen, die VBA unterstützen, wie Excel 2016 oder höher.
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu: Rechtsklicke im Projekt-Explorer und wähle „Einfügen“ > „Modul“.
Kopiere den folgenden Code in das Modul:
Sub DatenAusSQLDatenbankAuslesen()
Dim conn As Object
Dim rs As Object
Dim sql As String
' Erstelle das Connection-Objekt
Set conn = CreateObject("ADODB.Connection")
' Setze die Connection-String
conn.ConnectionString = "DSN=DeinDSN;SERVER=DeinServer;DATABASE=DeineDatenbank;"
conn.Open
' SQL-Abfrage zum Auslesen der Daten
sql = "SELECT * FROM DeineTabelle"
Set rs = conn.Execute(sql)
' Daten in Excel einfügen
Sheets("Daten").Range("A1").CopyFromRecordset rs
' Schließe die Verbindung
rs.Close
conn.Close
End Sub
Passe den Connection-String an Deine Datenbank an, indem Du den DSN, Server und Datenbanknamen ersetzt.
Führe das Makro aus, um die Daten aus der SQL-Datenbank auszulesen und in das Arbeitsblatt „Daten“ einzufügen.
Es gibt auch andere Methoden, um Daten aus einer SQL-Datenbank auszulesen:
Hier sind einige nützliche Beispiele für den Einsatz von SQL-Abfragen in Excel:
Daten aus einer bestimmten Tabelle auslesen:
SELECT * FROM Kunden
Daten filtern:
SELECT * FROM Bestellungen WHERE Bestelldatum > '2023-01-01'
Daten zusammenfassen:
SELECT COUNT(*) AS AnzahlBestellungen FROM Bestellungen
Diese Abfragen kannst Du in das VBA-Skript einfügen, um spezifische Daten aus Deiner SQL-Datenbank auszulesen.
SELECT * auszuwählen.1. Wie kann ich Daten in eine SQL-Datenbank schreiben?
Du kannst Daten in eine SQL-Datenbank schreiben, indem Du ein INSERT-Statement in Deinem VBA-Code verwendest. Hier ein Beispiel:
conn.Execute "INSERT INTO DeineTabelle (Spalte1, Spalte2) VALUES (Wert1, Wert2)"
2. Was ist der Unterschied zwischen ODBC und OLE DB?
ODBC ist eine standardisierte Schnittstelle für den Zugriff auf Datenbanken, während OLE DB eine Microsoft-Technologie ist, die den Zugriff auf verschiedene Datenquellen ermöglicht. OLE DB ist oft leistungsfähiger, wenn es um Microsoft-Datenquellen geht.
3. Kann ich auch XML-Daten auslesen?
Ja, Du kannst XML-Daten aus einer SQL-Datenbank auslesen, indem Du die SQL-Funktion FOR XML in Deiner Abfrage verwendest.