Parameter.Direction-Eigenschaft (DAO)
Gilt für: Access 2013, Office 2013
Syntax
Ausdruck . Richtung
Ausdruck Eine Variable, die ein Parameter-Objekt darstellt.
Hinweise
The setting or return value is a Long that can be set to one of the ParameterDirectionEnum constants.
Bestimmen Sie mit der Direction-Eigenschaft, ob der Parameter ein Eingabeparameter und/oder ein Ausgabeparameter oder der Rückgabewert der Prozedur ist. Einige ODBC-Treiber geben keine Informationen zur Richtung der Parameter für eine SELECT-Anweisung oder einen Prozeduraufruf an. In diesen Fällen muss die Richtung vor dem Ausführen der Abfrage festgelegt werden.
Die folgende Prozedur gibt z. B. einen Wert aus einer gespeicherten Prozedur namens "get_employees" zurück:
{? = aufruf get_employees}
Dieser Aufruf ergibt einen Parameter, und zwar den Rückgabewert. Sie müssen die Richtung dieses Parameters auf dbParamOutput oder dbParamReturnValue festlegen, bevor Sie QueryDef ausführen.
Legen Sie die Richtung aller Parameter fest, ausgenommen dbParamInput, bevor Sie auf die Parameterwerte zugreifen oder die Werte festlegen und bevor Sie QueryDef ausführen.
Verwenden Sie dbParamReturnValue für Rückgabewerte. Falls diese Option jedoch vom Treiber oder dem Server nicht unterstützt wird, können Sie stattdessen dbParamOutput verwenden.
Der Microsoft SQL Server-Treiber legt die Direction-Eigenschaft automatisch für alle Prozedurparameter fest. Nicht alle ODBC-Treiber erkennen die Richtung eines Abfrageparameters. In diesen Fällen muss die Richtung vor dem Ausführen der Abfrage festgelegt werden.
Beispiel
Dieses Beispiel konfiguriert mit der Direction-Eigenschaft die Parameter einer Abfrage für eine ODBC-Datenquelle.
Sub DirectionX()
Dim wrkMain As Workspace
Dim conMain As Connection
Dim qdfTemp As QueryDef
Dim rstTemp As Recordset
Dim strSQL As String
Dim intLoop As Integer
' Create ODBC workspace and open a connection to a
' Microsoft SQL Server database.
Set wrkMain = CreateWorkspace("ODBCWorkspace", _
"admin", "", dbUseODBC)
' Note: The DSN referenced below must be configured to
' use Microsoft Windows NT Authentication Mode to
' authorize user access to the Microsoft SQL Server.
Set conMain = wrkMain.OpenConnection("Publishers", _
dbDriverNoPrompt, False, _
"ODBC;DATABASE=pubs;DSN=Publishers")
' Set SQL string to call the stored procedure
' getempsperjob.
strSQL = "{ call getempsperjob (?, ?) }"
Set qdfTemp = conMain.CreateQueryDef("", strSQL)
With qdfTemp
' Indicate that the two query parameters will only
' pass information to the stored procedure.
.Parameters(0).Direction = dbParamInput
.Parameters(1).Direction = dbParamInput
' Assign initial parameter values.
.Parameters(0) = "0877"
.Parameters(1) = 0
Set rstTemp = .OpenRecordset()
With rstTemp
' Loop through all valid values for the second
' parameter. For each value, requery the recordset
' to obtain the correct results and then print out
' the contents of the recordset.
For intLoop = 1 To 14
qdfTemp.Parameters(1) = intLoop
.Requery
Debug.Print "Publisher = " & _
qdfTemp.Parameters(0) & _
", job = " & intLoop
Do While Not .EOF
Debug.Print , .Fields(0), .Fields(1)
.MoveNext
Loop
Next intLoop
.Close
End With
End With
conMain.Close
wrkMain.Close
End Sub