Daten einer SQL Datenbank in bestimmte Spalten füllen

  • Excel

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von runny.

    Daten einer SQL Datenbank in bestimmte Spalten füllen

    So ich hab eigentlich nur die Frage ob es möglich ist, mit Hilfe eines Markos bei öffnen eines Excel Sheets, gewisse Spalten mit den passenden Werten einer SQL tabelle zu füllen. Möglichst mit Datumsbegrenzung..also von bis. Vielleicht sogar direkt auswählbar...welche Spalten ich gerne füllen würde. Vor allem liegen die Spalten in Excel nicht unbedingt direkt nebeneinander und/oder in anderer Reihenfolge wie auf dem Server.

    Ich will kein Code, nur wissen ob es an sich möglich ist und wenn ja vielleicht ein kleinen Denkanstoß in die richtige Richtung.

    Also rein technisch hab ich schon gelöst via ODBC. Und auch schon mal spaßeshalber Datensätze eingelesen.

    Danke :)
    Ich würde schlicht ein zweites Arbeitsblatt machen und dort per Datenquery dein beliebigen SQL Code einlesen, um mittels in Excel verfügbaren Datenbankfunktionen in deinem Originalarbeitsblatt die jeweiligen Daten eben auszulesen. Da brauchst noch nicht mal n Makro zu.

    DoSchwob schrieb:

    Ich würde schlicht ein zweites Arbeitsblatt machen und dort per Datenquery dein beliebigen SQL Code einlesen, um mittels in Excel verfügbaren Datenbankfunktionen in deinem Originalarbeitsblatt die jeweiligen Daten eben auszulesen. Da brauchst noch nicht mal n Makro zu.

    Hmm klingt mal gar nicht doof, aber um das Makro komm ich denk ned drum rum. Da ich ned alle Daten laden will sondern nur Bestimmte. Das sprengt einfach den Rahmen. Da kommen sonst schon mal 50 Spalten a 1000-3000 Zeilen zusammen von denen ich vielleicht 450 brauche. Zu mal hätte ich gerne, dass beim schließen die Daten wieder entfernt werden. Um die Gesamtgröße der Excel Datei in grenzen zu halten. Hab hier welche mit über 100Mb und das is nicht praktikabel :D.
    Nun, mit dem Signalwort SELECT grenzt du die Spalten ein, mit WHERE die Zeilen, um das ganz banal auszudrücken. Soweit so gut. Mit der Datenimportfunktion kannst du der Abfrage noch Eigenschaften in Excel mitgeben, z. B. ein Kennzeichen, ob die Daten gespeichert werden sollen. In deinem Fall also nein. Nimm dir die Zeit, und teste das kurz. Die eingebauten Funktionen sind mächtiger als jedes schnell hingeschmotzte Makro. Ich denke nicht, dass du mehr als ein paar Mehrzeiler brauchst, die den SQL Code setzen in Abhängigkeit deines Zeitraums.
    Hi,

    alles was Du willst, kann mit der Standard-Excel-Funktion "Daten/Externe Daten importieren/Neue Abfrage erstellen" und dem Datenbankassistenten MS Query gelöst werden.

    (beliebige Reihenfolge (aber alle Spalten nebeneinander), Anzahl der Datensätze anhand von Filtern einschränken, beim Beenden die Daten aus Excel entfernen und beim Öffnen wieder einlesen)


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Hab ich wohl zu hoch gegriffen mit VBA.
    Aber es hat sich ein ganz andres Problem gezeigt.

    Die Daten die ich reinlade sind alle samt als Text konvertiert. Hab ich gemerkt als ich eine Grafik aus den Testdaten erstellen wollte.
    Jemand ne Idee woran das liegt?

    Die tabelle auf dem Server hat eigentlich nur Spalten mit float bzw date. Auch ein konvertierung der Spalten vorab in Excel brachte kein Ergebnis. Und auf die Text in Spalten funktion wollt ich mich jetzt ned verlassen, dass diese mir immer alles richtig zusammenschustert.

    Edit: ok auch das hat sich erledigt. In Zukunft lieber 3 mal checken. Hatte mit Bulk insert geladen und die mag keine Komma Zahlen sondern nur text.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „runny“ ()