joe72ka
Goto Top

SQL Server Backend - SQL Access 2016 Front-End

Hallo,
ich nutze einen SQL Server 2014 Backend und habe dort eine Prozedur mit Parameter gespeichert.
Wenn ich jetzt über VBA die Verbindung herstelle und die Abfrage einbinde hab ich das Problem das ich nicht sortieren kann und auch nicht die Datensätze zählen.
Wenn ich eine Pass Through Abfrage erstelle und den Parameter dort Fest hinterlege dann Funktioniert alles korrekt.
Gibt es eine Möglichkeit die Abfrage per VBA in einem Formular mit Variablen Parametern zu hinterlegen und trotzdem die Möglichkeit zu haben zu Sortieren und auch zu Zählen?

Public Function Aufruf(Prozedur As String, Parameter As String) As DAO.Recordset
    Dim db As DAO.Database
    Dim qdf As DAO.QueryDef
    Set db = CurrentDb
    Set qdf = db.CreateQueryDef("")  
    With qdf
        .Connect = ODBC...
        .SQL = "EXEC " & Prozedur & " " & Parameter  
        Set Aufruf = .OpenRecordset
        On Error GoTo 0
    End With
    Set db = Nothing
End Function

Der Aufruf im Formular über
Set Me.Recordset = Aufruf("dbo.spSELECT", "'%String%'")  

Vielen Dank

Content-Key: 298304

Url: https://administrator.de/contentid/298304

Printed on: April 19, 2024 at 23:04 o'clock

Member: MadMax
MadMax Mar 08, 2016 at 12:23:31 (UTC)
Goto Top
Hallo rw72,

bischen spät, aber besser als nie:
Was Dir vielleicht hilft ist eine Tabellenwertfunktion. Ist eine Funktion, die mit Parametern aufgerufen werden kann, wird aber benutzt wie eine Sicht oder Tabelle, also z.B.:
select * from Testfunktion (4711, 'xyz')  

Das geht in einer einfachen Variante, daß der Parameter nur im Select z.B. in der Where-Klausel verwendet wird (Inline-Tabellenwertfunktion) oder aber auch in einer komplizierteren Variante, bei der erst alles mögliche berechnet und bearbeitet wird und am Ende die Rückgabe einer Tabelle erfolgt (Multistatement-Tabellenwertfunktion).

Gruß, Mad Max