Compartir a través de


Propiedad Parameter.Direction (DAO)

Se aplica a: Access 2013, Office 2013

Sintaxis

expresión . Dirección

Expresión Variable que representa un objeto Parameter .

Comentarios

La configuración o el valor devuelto es un tipo de datos Long que se puede establecer en una de las constantes ParameterDirectionEnum.

Use la propiedad Direction para determinar si el parámetro es un parámetro de entrada, un parámetro de salida, ambos o el valor devuelto del procedimiento. Algunos controladores ODBC no proporcionan información sobre la dirección de los parámetros a una instrucción SELECT o llamada a procedimiento. En estos casos, es necesario establecer la dirección antes de ejecutar la consulta.

Por ejemplo, el siguiente procedimiento devuelve un valor de un procedimiento almacenado llamado "get_employees":

{? = llamar a get_employees}

Esta llamada produce un parámetro: el valor devuelto. Debe establecer la dirección de este parámetro en dbParamOutput o dbParamReturnValue antes de ejecutar QueryDef.

Debe establecer todas las direcciones de parámetros excepto dbParamInput antes de establecer o tener acceso a los valores de los parámetros y antes de ejecutar QueryDef.

Debe usar dbParamReturnValue para los valores devueltos, pero en los casos en que el controlador o el servidor no admitan dicha opción, puede usar dbParamOutput en su lugar.

El controlador de Microsoft SQL Server establece automáticamente la propiedad Direction para todos los parámetros de procedimientos. No todos los controladores ODBC pueden determinar la dirección de un parámetro de consulta. En estos casos, es necesario establecer la dirección antes de ejecutar la consulta.

Ejemplo

En este ejemplo, se usa la propiedad Direction para configurar los parámetros de una consulta en un origen de datos ODBC.

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