Compartilhar via


Propriedade Parameter.Direction (DAO)

Aplica-se ao: Access 2013, Office 2013

Sintaxe

expressão . Direção

Expressão Uma variável que representa um objeto Parameter .

Comentários

A configuração ou o valor de retorno é um Long que pode ser definido como uma das constantes ParameterDirectionEnum.

Use a propriedade Direction para determinar se o parâmetro é de entrada, saída, ambos ou o valor de retorno do procedimento. Alguns drivers ODBC não fornecem informações sobre a direção dos parâmetros para uma instrução SELECT ou chamada de procedimento. Nesses casos, é necessário definir a direção antes de executar a consulta.

Por exemplo, o procedimento a seguir retorna um valor de um procedimento armazenado chamado "get_employees":

{? = chamar get_employees}

Essa chamada gera um parâmetro — o valor de retorno. Você precisa definir a direção desse parâmetro como dbParamOutput ou dbParamReturnValue antes de executar QueryDef.

Você precisa definir todas as direções de parâmetro, exceto dbParamInput, antes de acessar ou configurar os valores dos parâmetros e antes de executar QueryDef.

É necessário usar dbParamReturnValue para valores de retorno, mas nos casos em que aquela opção não é aceita pelo driver ou pelo servidor, você pode usar dbParamOutput no lugar.

O driver do Microsoft SQL Server define automaticamente a propriedade Direction para todos os parâmetros de procedimento. Nem todos os drivers ODBC podem determinar a direção de um parâmetro de consulta. Nesses casos, é necessário definir a direção antes de executar a consulta.

Exemplo

Este exemplo usa a propriedade Direction para configurar os parâmetros de uma consulta para uma fonte de dados 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