Hallo Experten,
nutze eine bewährte Funktion, die PT-Abfragen auf SQL-Server erstellt.
Habe nun eine neue Tabellenwertfunktion auf dem SQL-Server erstellt, auf die ich über PT zugreifen möchte.
Die Fuktion bringt oben stehende Fehlermeldung.
Verwende ich eine einfache Select-Anweisung, wird die PT erstellt.
Setzte ich das Select-Statement in die so erzeugte PT ein, wird es ausgeführt.
Wo könnte der Fehler liegen?
Vielen Dank im voraus für jeden Tipp
Matze
-------------------------------------------------------------
select Datum,Nr,GP,Artikel,Charge from dbo.ELF_AnhangBeleg ('WEEK','20190319','20190320','HW') order by op desc
-------------------------------------------------------------
Public Function makePT(ByVal sql As String, Optional ptname As String = "P_PT", Optional SQLSVR As String = "Standard", Optional timeout = 90)
On Error GoTo Err
Dim DB As DAO.Database
Dim qdf As QueryDef
start:
Set DB = CurrentDb
On Error Resume Next
DB.QueryDefs.Refresh
DB.QueryDefs.Delete ptname
DB.QueryDefs.Refresh
On Error GoTo Err
Set qdf = DB.CreateQueryDef()
With qdf
.Name = ptname
.connect = getConSQL(True, SQLSVR)
.ODBCTimeout = timeout
.sql = KillTheBlanks(Nz(sql, ""))
End With
DB.QueryDefs.Append qdf
Ende:
Set qdf = Nothing
Set DB = Nothing
Exit Function
Err:
Select Case Err
Case Else
DoCmd.Hourglass False
MsgBox Err.Number & ": " & Err.Description, vbCritical
Resume Ende
End Select
End Function
nutze eine bewährte Funktion, die PT-Abfragen auf SQL-Server erstellt.
Habe nun eine neue Tabellenwertfunktion auf dem SQL-Server erstellt, auf die ich über PT zugreifen möchte.
Die Fuktion bringt oben stehende Fehlermeldung.
Verwende ich eine einfache Select-Anweisung, wird die PT erstellt.
Setzte ich das Select-Statement in die so erzeugte PT ein, wird es ausgeführt.
Wo könnte der Fehler liegen?
Vielen Dank im voraus für jeden Tipp
Matze
-------------------------------------------------------------
select Datum,Nr,GP,Artikel,Charge from dbo.ELF_AnhangBeleg ('WEEK','20190319','20190320','HW') order by op desc
-------------------------------------------------------------
Public Function makePT(ByVal sql As String, Optional ptname As String = "P_PT", Optional SQLSVR As String = "Standard", Optional timeout = 90)
On Error GoTo Err
Dim DB As DAO.Database
Dim qdf As QueryDef
start:
Set DB = CurrentDb
On Error Resume Next
DB.QueryDefs.Refresh
DB.QueryDefs.Delete ptname
DB.QueryDefs.Refresh
On Error GoTo Err
Set qdf = DB.CreateQueryDef()
With qdf
.Name = ptname
.connect = getConSQL(True, SQLSVR)
.ODBCTimeout = timeout
.sql = KillTheBlanks(Nz(sql, ""))
End With
DB.QueryDefs.Append qdf
Ende:
Set qdf = Nothing
Set DB = Nothing
Exit Function
Err:
Select Case Err
Case Else
DoCmd.Hourglass False
MsgBox Err.Number & ": " & Err.Description, vbCritical
Resume Ende
End Select
End Function