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?
Der Aufruf im Formular über
Vielen Dank
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 298304
Url: https://administrator.de/forum/sql-server-backend-sql-access-2016-front-end-298304.html
Ausgedruckt am: 23.12.2024 um 00:12 Uhr
1 Kommentar
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.:
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
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