Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1616to1620
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zu blöd für SQL

Zu blöd für SQL
09.04.2018 12:00:10
Peter(silie)
Hallo Leute,
ich habe eine Tabelle mit definierten Bereichen.
Der Bereich WholeDs_Outp umfasst A:J
Der Bereich InUsageOf den Bereich J:J
Mit folgendem Statement:
SELECT * FROM [WholeDs_Outp] WHERE [InUsageOf]='ein Name'
erhalte ich den Fehler:
Userbild
Der komplette Code sieht so aus:
Public Function GetEmployeeData(ByVal emp As String) As Variant
Dim conn    As Object
Dim rs      As Object
Dim pName   As String
Dim nConn   As String
Dim sSql    As String
pName = ThisWorkbook.FullName
nConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& pName & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
conn.Open nConn
sSql = "SELECT * FROM [WholeDs_Outp] " & _
"WHERE [InUsageOf]='" & emp & "'"
rs.Open sSql, conn
If Not rs.EOF And Not rs.BOF Then
GetEmployeeData = rs.GetString(, , ";", "|")
End If
rs.Close
conn.Close
End Function
Auftreten tut er, wenn ich mein Recordset füllen will,
Also in der Zeile "rs.Open sSql, conn"

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
IMHO fehlt der Tabellenname! (owT)
09.04.2018 12:03:22
EtoPHG

Ist doch schon im Namen drinnen oder?
09.04.2018 12:07:07
Peter(silie)
Hallo,
Namensmanager spuckt aus
WholeDs_Outp "=Ausgabe!$A:$J"
InUsageOf "=Ausgabe!$G:$G"
damit ist der Tabellenname ja eig. schon mit drinnen.
Kleiner Nachtrag
09.04.2018 12:13:51
Peter(silie)
Hallo,
das geht:
    sSql = "SELECT * FROM [" & Base.TABLE_OUTPUT & "$InUsageOf]"
das nicht:
    sSql = "SELECT * FROM [" & Base.TABLE_OUTPUT & "$OutputDs] " & _
"WHERE [" & Base.TABLE_OUTPUT & "$InUsageOf]='" & emp & "'"
Base.Table_Output ist der Name der Tabelle
ist ein Konstante im Modul Base
Anzeige
Erledigt, verwende Header statt Named Range..owT
09.04.2018 16:33:07
Peter(silie)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige