Zu blöd für SQL
09.04.2018 12:00:10
Peter(silie)
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: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"