Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
VBA - SQL EXCEL
#1
Hallo meine name ist Dietmar, ich möchte mich wenigsten vorstellen,

ich habe folgendes Problem:

Ausgangslage: aus einer riesigen Datenbank werden Daten generiert, die über ein EXCEL - Template ausgewertet werden können.
Leider hat die Datenbank keine Möglichkeit (Zugriffbeschränkung) eine Auswertung über ACCESS zu machen.
Das von mir angestrebte Template soll automatisch Email in Outlook generieren.
Bei einer bestimmten Abfrage mit den sich daraus ergebenden Daten klappt das wunderbar.
Es werden zwei Datenblätter in einer Mappe erstellt. Um die benötigte Zusammenstellung in einem weiteren Datenblatt zu generieren habe ich SQL in VBA benutzt, da die Spalten in ihrer Position veränderlich sind. LÄUFT!
In der jetzt benötigten Form für ein ähnliches Projekt kommt die Schwierigkeit hinzu, dass im ersten Blatt eine Aufstellung vorhanden ist, die über eindeutige Kennung zuordenbar ist. Im zweiten Blatt sind die gleichen Kennungen allerding in mehrfacher Form. Prinzipiel kein Problem. Ich in einer zweiten (von vielen) Spalten stehen allerdings Daten, die ich im dritten Blatt in einer Zeile zusammengefasst werden muss. Ich habe nun versucht, dies mit einer CASE / bezw. IIF Anweisung im SQL String zu lösen. Keine Chance! Ich bekomme immer wieder Fehlermeldungen.
Da die Daten den Datenschutzrichtlinien unterliegen kann ich leider keine Mappe hochladen. Ich versuche es mit einem Schema zu erklären.
Außerdem habe nirgens ein Erklärung gefunden, welche SQL Schüsselwörter in EXCEL VBA verwendet werden können. Wir arbeiten leider noch mit Version 2010.
Falls mir jemand hierbei einen Lösungansatz geben kann, wäre ich sehr dankbar.

[Bild: Anmerkung-2019-10-01-211714.png]
Tab 1
[Bild: Anmerkung-2019-10-01-211715.png]
Tab 2
[Bild: Anmerkung-2019-10-01-211716.png]
Tab 3


image uploader
Zitieren
#2
Moin Dietmar,

wie wäre es mit diesen Antworten? Und 
Zitat:Da die Daten den Datenschutzrichtlinien unterliegen kann ich leider keine Mappe hochladen.

ist für mich kein echtes Argument. Denn VBA kann keine netten Bildchen auswerten und ich als Helfer habe keine Lust, meine Zeit mit dem Nachbau von existierenden Daten zu verschwenden. Baue einige anonymisierte Daten nach und stelle hier eine *.xlsx ein, dann wird sich vielleicht ein Weg finden. Meine Tendenz geht (trotz langer Arbeit mit VBA) in Richtung Power Query, einer SQLoiden Anwendung in Excel ab 2010.
Beste Grüße 
  Günther

Ich helfe gerne im Rahmen der Hilfe zur Selbsthilfe; Komplettlösungen werden noch nicht einmal vom Sozialamt kostenlos erstellt ...
Ich hasse unnötige Arbeit, darum weigere ich mich aus prinzipiellen Erwägungen, eine Datei nachzubauen. Also bitte eine Muster-XLSX.
Zitieren
#3
Hallo,

so ganz nachvollziehen kann ich das nicht. Generell gilt aber: SQL kann VBA ziemlich egal sein, denn SQL ist ein String,
den Du an die Datenbank sendet. Z.B. "SELECT * FROM " & "[" & DeineTabelleAlsVariable & "];" gesendet als Execute
an die DB sollte Dir was zurückliefern. Kommt auch darauf an, was für eine Bibliothek Du für die DB verwendest.
Optimal wäre ADO, google mal "Excel VBA, ADO, Access".

Ansonsten, solltest Du zumindestens Deinen Code-Versuch zum Aufbau des SQL-Strings hier mal reinstellen.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 01/2011 - 06/2019 :: 04/2020 - 06/2022
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner (neu)
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste




Hinweis auf Angebot Excel-Inside - lang    Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden um dein Anliegen zu besprechen.
   Gerne erstellen wir auf dieser Basis ein Angebot.
   Sende deine Anfrage einfach
per E-Mail an anfrage@excel-inside.de


Powerd and supported by Excel-InsideSolutions