Member
Beiträge: 7
| Hallo Karl,
Danke für Deine Antwort, ich befülle das Unterformular mitels einer Function, die mir vor Aufruf der Stored Procedure eine Pass-Through-Abfrage generiert mit den zu übergebenen Parametern:
Public Function SPRecordsourceParam(strStoredProcedure As String, strVerbindungszeichenfolge As String, ParamArray varParameter() As Variant) As String
Dim DB As DAO.Database
Dim qdf As DAO.QueryDef
Dim strParameter As String
Dim strPassThrough As String
Set DB = CurrentDb
strPassThrough = "pt" & strStoredProcedure
strPassThrough = Replace(strPassThrough, ".", "_")
On Error Resume Next
DB.QueryDefs.Delete strPassThrough
On Error GoTo 0
Set qdf = DB.CreateQueryDef(strPassThrough)
strParameter = Parameterliste(varParameter)
With qdf
.Connect = strVerbindungszeichenfolge
.SQL = "EXEC " & strStoredProcedure & " " & strParameter
.ODBCTimeout = 180
End With
Set DB = Nothing
SPRecordsourceParam = strPassThrough
End Function
Das Unterformular bekommt dann einfach
Me.UBlatt_Ergebnis.Form.RecordSource = SPRecordsourceParam("Schema.spSuche", Verbindungszeichenfolge, SQLKrit)
Das Ganze ist eine Inventardatenbank, bei der Benutzersuche sollen diejenigen Objekte mit all ihren Attributen (pivotiert als Spalten, die liegen separat als 1:n zu den Stammdaten in verschiedenen Tabellen) angezeigt werden.
Die Benutzer möchten eben auch die Attribute in den Suchergebnisse sehen.
Das Datenmodell ist danach ausgerichtet, dass die Benutzer selbst neue Attribute für Objekte anlegen und verwalten können - die Arbeit, die man sich durch die Adaptierungen bei neuen Eigenschaften zwar hier erspart, muss man natürlich wieder in die Umsetzung stecken damit das alles dynamisch bleibt... :-/
LG Alex
|