Thema Datum  Von Nutzer Rating
Antwort
Rot DB-Abfrage mit Variablen aus einem Tabellenbereich
03.05.2019 13:33:10 Bovie
NotSolved
03.05.2019 15:01:08 Bovie
NotSolved
03.05.2019 19:34:06 Gast42597
Solved
03.05.2019 19:36:03 Gast27823
NotSolved
04.05.2019 11:30:52 Bovie
Solved
04.05.2019 12:22:03 Gast42597
NotSolved
05.05.2019 07:05:38 Bovie
NotSolved

Ansicht des Beitrags:
Von:
Bovie
Datum:
03.05.2019 13:33:10
Views:
723
Rating: Antwort:
  Ja
Thema:
DB-Abfrage mit Variablen aus einem Tabellenbereich

Hallo geehrte VBA-Götter, 19


wieder einmal möchte ich um euer schier grenzenloses Wissen bitten, da ich erneut ein Thema habe, welches meine Kenntnisse weit übersteigt.

Ich habe eine Excel-Datei, die per odc-Datei eine Datenbankverbindung hat und mit der ich die Daten in der Exceldatei regelmäßig aktualisiere.

Nun stellt sich gerade die Herausforderung, dass ich das Select, welches die Daten von der DB abfragt und starr in der odc-Datei hinterlegt ist, so umgestalten muss,
dass ein Teil der Where-Clause sich variabel aus einem sich verändernden Bereich in einer Tabelle zusammensetzen muss.

Konkret:
mit einem Makro:
Sub DbAbfrage_mit_einem_Parameter_aus_Zelle()

Debug.Print
Dim odc_pfad As String
odc_pfad = "ABFRAGE_KD_NUMMER"
    With ActiveWorkbook.Connections(odc_pfad).ODBCConnection
        .BackgroundQuery = True
        .CommandText = Array("SELECT kdname FROM datenbank WHERE kdnummer IN (" & Worksheets("Tabelle1").Cells(1, 1) & ")")
        .CommandType = xlCmdSql
        .Connection = Array(Array( _
        "ODBC;DRIVER={Client Access ODBC Driver (32-bit)};SYSTEM=127.127.0.0;DBQ=QGPL CHLLIB;DFTPKGLIB=QGPL;LANGUAGEID=ENU;PKG=QGPL/DEFAULT(" _
        ), Array("IBM),2,0,1,0,512;QRYSTGLMT=-1;"))
        .RefreshOnFileOpen = False
        .SavePassword = False
        .SourceConnectionFile = ""
        .SourceDataFile = ""
        .ServerCredentialsMethod = xlCredentialsMethodIntegrated
        .AlwaysUseConnectionFile = False
    End With
    With ActiveWorkbook.Connections(odc_pfad)
        .Name = odc_pfad
        .Description = ""
    End With
    ActiveWorkbook.Connections(odc_pfad).Refresh
End Sub

bekomme ich schon hin, in die Zelle A1 eine Kundennummer für das Select mitzugeben, das klappt auch und da bin ich schon mächtig stolz drauf. 18 19

Allerdings muss ich nicht nur eine Kundennummer, sondern eine sich ständig verändernde Anzahl von Kundennummern mitgeben, die sich in einem anderen Tabellenblatt (Tabelle2, Spalte A)
befinden.

All meine Versuche, aus der einen Zelle einen Bereich zu machen, sind kläglich gescheitert.

Hättet ihr eine Lösung für mein Problem?

Vorab gang herzlichen Dank für euer Hirnschmalz. 17 


VG

Bovie


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot DB-Abfrage mit Variablen aus einem Tabellenbereich
03.05.2019 13:33:10 Bovie
NotSolved
03.05.2019 15:01:08 Bovie
NotSolved
03.05.2019 19:34:06 Gast42597
Solved
03.05.2019 19:36:03 Gast27823
NotSolved
04.05.2019 11:30:52 Bovie
Solved
04.05.2019 12:22:03 Gast42597
NotSolved
05.05.2019 07:05:38 Bovie
NotSolved