Freigeben über


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