Clever-Excel-Forum

Normale Version: Makro zur Datenübernahme aus SQL Server
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

wer kann mir die grundsätzlichen Schritte in einem Makro zur Übernahme von Daten aus einer SQL Datenbank (z.B. Northwind) nennen. Als Beispiel sollen Daten der Spalte "Adresse" aus der Tabelle "Kunde" in eine Excel Tabelle übernommen werden. Eine weitere Möglichkeit wäre das Anlegen einer Tabelle in Excel mit einer Auflistung der "KundenID" welche in SQL Server ebenfalls vorhanden ist. Dadurch könnte die Excel Spalte als Fremdschlüssel gelten und die SQL Tabelle mit dem entsprechenden Primärschlüssel in Excel angesteuert werden. Wie könnte da ein Makro zum Auslesen der Daten aussehen?
Hallöchen,

erst mal nur eine allgemeine Info. Schaue Dir dazu mal Query bzw. das Daten-Menü oder PowerQuery an.
Für eine Makrolösung gibt es z.B. auf dieser Seite ein paar Informationen:
http://www.online-excel.de/excel/singsel_vba.php?f=135

Hier mal ein Bild vom Datenmenü im Excel. Du kannst Dort z.B. auch eine Access-Datenbank auswählen. In der Folge erhälst Du weitere Auswahlmöglichkeiten zu den Tabellen und Inhalten.

[attachment=7546]
Hallo,

danke Dir für Deine Antwort. Gibt es die Kurzversion eines Codes, mit dem sich bei übereinstimmenden Spaltenüberschriften in MS SQL und Excel die Daten aus Excel in die Datenbank am SQL Server übernehmen lassen!?
Hallo,
wer kennt den Code für ein Makro, mit dem sich bei übereinstimmenden Spaltenüberschriften in MS SQL und Excel die Daten aus Excel in die Datenbank am SQL Server übernehmen lassen und umgekehrt die Daten vom SQL Server in die Excel Datenbank!?
Hallo,

in den Beispielcodes steht doch ein SQL-Statement drin, was Du nur anpassen brauchst:
sQuery = "Select Max ([Wert]) from [Quelle$] where Artikel='Hammer'"

Wenn Du den kompletten Inhalt willst, dann
sQuery = "Select [Wert] from [Quelle$]"

Welche "Spalten" Du in Deiner Northwind hast, weißt Du doch, oder?

Wenn Du die Spalte variabel halten willst, ersetzt Du sie durch einen entsprechenden Ausdruck oder eine Variable
sQuery = "Select [" & Range("A1").Value & "] from [Quelle$]"
Hallo,

vielen Dank für Deine Info! Ich muss den Code erst noch anpassen und testen und melde mich dann wieder.