Thema Datum  Von Nutzer Rating
Antwort
03.05.2019 13:33:10 Bovie
NotSolved
03.05.2019 15:01:08 Bovie
NotSolved
Rot DB-Abfrage mit Variablen aus einem Tabellenbereich
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:
Gast42597
Datum:
03.05.2019 19:34:06
Views:
446
Rating: Antwort:
 Nein
Thema:
DB-Abfrage mit Variablen aus einem Tabellenbereich

Danke, dass du deine Posts gegenseitig verlinkt hast.

 

Zu deinem Problem:

Wenn ich dich richtig verstanden habe, hast du in einer Spalte A lauter Kundenummern stehen.

z.B.

 

  A
1 68705335
2 25510015
3 92566660
4 85398822
5 20468602

und willst jene in dein SQL einbauen.

SELECT kdname FROM datenbank WHERE kdnummer IN (...)

Du bist gar nicht mehr so weit davon entfernt. ;)

Option Explicit

Sub Test()
  
  Dim sql As String
  Dim vntKNr As Variant
  
  With Worksheets("Tabelle1") '<- Tabellenblatt in dem die Daten liegen
    'Bereich: A2 bis letzte Zeile mit Inhalt (in Spalte A, von unten nach oben suchen)
    Set vntKNr = .Range("A2", .Cells(.Rows.Count, "A").End(xlUp))
    'wenn wir unsere Startzeile/-zelle (hier A2) unterschreiten, dann gibt es keine Daten
    If vntKNr.Row < 2 Then
      MsgBox "Keine Daten vorhanden.", vbExclamation
      Exit Sub
    End If
  End With
  
  vntKNr = vntKNr.Value()
  vntKNr = WorksheetFunction.Transpose(vntKNr)
  vntKNr = Join(vntKNr, ", ")
  
  sql = "SELECT kdname FROM datenbank WHERE kdnummer IN (" & vntKNr & ")"
  
  Debug.Print "SQL-Query := """; sql; """"
  
End Sub

... die Variable sql hat dann, dem obigen Beispiel treu bleibend, folgenden Inhalt :

SELECT kdname FROM datenbank WHERE kdnummer IN (68705335, 25510015, 92566660, 85398822, 20468602)

Das ist dann deine SQL-Abfrage, die du CommandText übergibst.

    '...
    With ActiveWorkbook.Connections(odc_pfad).ODBCConnection
        '...
        .CommandText = Array(sql)
        '...
    End With
    '...

 


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
03.05.2019 13:33:10 Bovie
NotSolved
03.05.2019 15:01:08 Bovie
NotSolved
Rot DB-Abfrage mit Variablen aus einem Tabellenbereich
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