Office: Datenimport aus SQL - Filter in Zelle definieren

Helfe beim Thema Datenimport aus SQL - Filter in Zelle definieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo an alle, ich importiere über einen Button Daten aus einer Datenbank ins Excel. Der Code dazu schaut so aus: Sub... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von SonnyCorleone, 16. August 2011.

  1. SonnyCorleone Erfahrener User

    Datenimport aus SQL - Filter in Zelle definieren


    Hallo an alle,

    ich importiere über einen Button Daten aus einer Datenbank ins Excel. Der Code dazu schaut so aus:

    Code:
    Sub Schaltfläche3_KlickenSieAuf()
    With ActiveWorkbook.Connections("Abfrage von TEST").ODBCConnection
            .BackgroundQuery = False
            .CommandText = Array( _
            "SELECT t_FACT_Planning.FinanzstelleFID, t_FACT_Planning.BudgetartFID, t_FACT_Planning.DetailbudgetL2_FID, t_FACT_Pl" _
            , _
            "anning.BudgetelementFID, t_FACT_Planning.AusgangsjahrFID, t_FACT_Planning.UmbuchungsstatusFID, t_FACT_Planning.Wert" _
            , _
            ", t_FACT_Planning.Kommentar" & Chr(13) & "" & Chr(10) & "FROM PlanningDWH.dbo.t_FACT_Planning t_FACT_Planning" & Chr(13) & "" & Chr(10) & "WHERE (t_FACT_Planning.Umbuchung" _
            , _
            "sstatusFID<>0) AND (t_FACT_Planning.AusgangsjahrFID=2011)" & Chr(13) & "" & Chr(10) & "ORDER BY t_FACT_Planning.Kommentar" _
            )
    Ich möchte das aber so haben, dass bei
    Code:
    (t_FACT_Planning.AusgangsjahrFID=2011)
    das 2011 nicht hart codiert drinnen steht, sondern dass hier der Wert aus der Zelle K2 genommen wird - leider habe ich keine Ahnung, wie ich das syntaktisch reinkriege, kann mir da jemand helfen?

    Danke und lg, Sonny
     
    SonnyCorleone, 16. August 2011
    #1
  2. schatzi Super-Moderator
    Hallo!

    ungetestet:
    (t_FACT_Planning.AusgangsjahrFID=Sheets("Tabelle1").Range("K2"))
     
    schatzi, 16. August 2011
    #2
  3. SonnyCorleone Erfahrener User
    Hm... Das Sheet heißt Abfrage_FACT, bei

    Code:
     With ActiveWorkbook.Connections("Abfrage von TEST").ODBCConnection
            .BackgroundQuery = False
            .CommandText = Array( _
            "SELECT t_FACT_Planning.FinanzstelleFID, t_FACT_Planning.BudgetartFID, t_FACT_Planning.DetailbudgetL2_FID, t_FACT_Pl" _
            , _
            "anning.BudgetelementFID, t_FACT_Planning.AusgangsjahrFID, t_FACT_Planning.UmbuchungsstatusFID, t_FACT_Planning.Wert" _
            , _
            ", t_FACT_Planning.Kommentar" & Chr(13) & "" & Chr(10) & "FROM PlanningDWH.dbo.t_FACT_Planning t_FACT_Planning" & Chr(13) & "" & Chr(10) & "WHERE (t_FACT_Planning.Umbuchung" _
            , _
            "sstatusFID<>0) AND  (t_FACT_Planning.AusgangsjahrFID=Sheets("Abfrage_FACT").Range("K2"))ORDER BY t_FACT_Planning.Kommentar" _
            )
    sagt er "Fehler beim Kompilieren: Erwartet: Listentrennzeichen oder )"...

    Sagt dir das was?
     
    SonnyCorleone, 16. August 2011
    #3
  4. schatzi Super-Moderator

    Datenimport aus SQL - Filter in Zelle definieren

    Hallo!

    Ich kenne mich mit SQL leider nicht wirklich aus, aber vielleicht hilft es, wenn du den Zellwert vorher in eine Variable einliest?

    Sub Schaltfläche3_KlickenSieAuf()
    Dim x
    x = Sheets("Abfrage_FACT").Range("K2")
    With ActiveWorkbook.Connections("Abfrage von TEST").ODBCConnection
    .BackgroundQuery = False
    .CommandText = Array( _
    "SELECT t_FACT_Planning.FinanzstelleFID, t_FACT_Planning.BudgetartFID, t_FACT_Planning.DetailbudgetL2_FID, t_FACT_Pl" _
    , _
    "anning.BudgetelementFID, t_FACT_Planning.AusgangsjahrFID, t_FACT_Planning.UmbuchungsstatusFID, t_FACT_Planning.Wert" _
    , _
    ", t_FACT_Planning.Kommentar" & Chr(13) & "" & Chr(10) & "FROM PlanningDWH.dbo.t_FACT_Planning t_FACT_Planning" & Chr(13) & "" & Chr(10) & "WHERE (t_FACT_Planning.Umbuchung" _
    , _
    "sstatusFID<>0) AND (t_FACT_Planning.AusgangsjahrFID=x)" & Chr(13) & "" & Chr(10) & "ORDER BY t_FACT_Planning.Kommentar" _
    )
     
    schatzi, 16. August 2011
    #4
  5. Exl121150 Erfahrener User
    Hallo!

    Falls ich mich da dazwischenmischen darf:
    Es muss zu dem Zeitpunkt, zu dem SQL ausgeführt wird, so ausschauen:
    Code:
    (t_FACT_Planning.AusgangsjahrFID=2011)
    Da das ganze aber in einem String verpackt ist, muss man selber dafür sorgen, dass der Ausdruck so ausschauend wird, denn mit einem Excel-Ausdruck "Sheets..." kann SQL nichts anfangen.

    Daher:
    Code:
    ".... (t_FACT_Planning.AusgangsjahrFID=" & Sheets("Abfrage_FACT").Range("K2") & ") ORDER ..."
    Die "..." stellen natürlich Deinen restlichen SQL-Ausdruck dar.
     
    Exl121150, 16. August 2011
    #5
  6. schatzi Super-Moderator
    Hallo!
    Du darfst nicht nur, sondern du musst... :-D
     
    schatzi, 16. August 2011
    #6
  7. Nowe Neuer User
    Hallo

    Versuchs mal so! Zelle K2 als Textfeld formatieren und dann den folgenden Code:

    Code:
    Sub Schaltfläche3_KlickenSieAuf() 
    Dim strAusgangsjahr as String
    
    With Sheets("Abfrage_FACT")
            strAusgangsjahr = .Range("K2").Text
    End With
    
    With ActiveWorkbook.Connections("Abfrage von TEST").ODBCConnection 
            .BackgroundQuery = False 
            .CommandText = Array( _ 
            "SELECT t_FACT_Planning.FinanzstelleFID, t_FACT_Planning.BudgetartFID, t_FACT_Planning.DetailbudgetL2_FID, t_FACT_Pl" _ 
            , _ 
            "anning.BudgetelementFID, t_FACT_Planning.AusgangsjahrFID, t_FACT_Planning.UmbuchungsstatusFID, t_FACT_Planning.Wert" _ 
            , _ 
            ", t_FACT_Planning.Kommentar" & Chr(13) & "" & Chr(10) & "FROM PlanningDWH.dbo.t_FACT_Planning t_FACT_Planning" & Chr(13) & "" & Chr(10) & "WHERE (t_FACT_Planning.Umbuchung" _ 
            , _ 
            "sstatusFID<>0) AND (t_FACT_Planning.AusgangsjahrFID='" & strAusgangsjahr & "')" & Chr(13) & "" & Chr(10) & "ORDER BY t_FACT_Planning.Kommentar" _ 
            )
    MFG Andi
     
  8. SonnyCorleone Erfahrener User

    Datenimport aus SQL - Filter in Zelle definieren

    Passt!!

    Ihr seid unglaublich, alle drei!!

    Vielen Dank, beide Varianten funktionieren! :mrgreen:

    lg Sonny
     
    SonnyCorleone, 17. August 2011
    #8
Thema:

Datenimport aus SQL - Filter in Zelle definieren

Die Seite wird geladen...
  1. Datenimport aus SQL - Filter in Zelle definieren - Similar Threads - Datenimport SQL Filter

  2. Powerquery Datum automatisch einfügen

    in Microsoft Excel Hilfe
    Powerquery Datum automatisch einfügen: Hallo Ich habe eine Datei in der in Tabelle Spalten A-G Daten enthalten sind in Spalte H steht das aktuelle Datum des Imports. Jetzt erhalte ich 2mal pro Woche 14 Dateien die ich einfach in einen...
  3. VBA - Wörter auflisten

    in Microsoft Excel Hilfe
    VBA - Wörter auflisten: Hallo, ich bin die Beere, bin neu hier. Meine verzweifelte Suche (nachdem office-loesung schon eine Weile nicht erreichbar ist) hat mich hier hin geführt. In der Regel schlage ich mich gut...
  4. XVERWEIS auf Datenimport

    in Microsoft Excel Hilfe
    XVERWEIS auf Datenimport: Hallo, folgendes Problem mit dem XVERWEIS - dieser bezieht sich auf ein zweites Tabellenblatt, das importierte Daten aus PowerQuery enthält. Wenn in der Ursprungsdatei Spalten hinzukommen, ist...
  5. Optionen für Datenimport und-Analyse

    in Microsoft Excel Tutorials
    Optionen für Datenimport und-Analyse: Optionen für Datenimport und-Analyse Excel für Microsoft 365 Excel 2019 Excel 2016 Mehr... Weniger...
  6. Web Datenimport in Access

    in Microsoft Access Hilfe
    Web Datenimport in Access: Hallo zusammen. Ich habe in Excel ca. 45 Webanfragen erstellt mit PowerQuery, welche ich mit einer Tabellenabfrage kombinieren will. Bei ca. 10-15 Abfragen funktionierte Excel noch einigermaßen,...
  7. Datenimport Fehler ohne Fehler???

    in Microsoft Access Hilfe
    Datenimport Fehler ohne Fehler???: Hallo zusammen, ich bin ganz neu hier, da ich mit meinem Latein am Ende bin. Seit letzter Woche darf ich mich bei uns im Unternehmen um eine Access Datenbank kümmern. So weit, so gut. Ich habe...
  8. VBA Excel-Datenimport per SQL

    in Microsoft Access Hilfe
    VBA Excel-Datenimport per SQL: Guten Tag, ich habe eine Tabelle mit Artikelnr, Umsatz, Preis. Es sind 50000 Artikelnummern vorhanden, die jeweiligen Umsätze und Preise muss ich aus einer anderen Datei herholen. Meine Idee...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden