Declaración PARAMETERS (Microsoft Access SQL)
Se aplica a: Access 2013, Office 2013
Declara el nombre y tipo de datos de cada parámetro de una consulta de parámetros.
Sintaxis
PARAMETERS nombre tipoDeDatos [, nombre tipoDeDatos [, …]]
La instrucción PARAMETERS consta de los siguientes elementos:
Elemento |
Descripción |
---|---|
name |
Nombre del parámetro. Se asigna a la propiedad Name del objeto Parameter y se usa para identificar este parámetro en la colección Parameters. Puede usar nombre como una cadena que se muestre en un cuadro de diálogo mientras la aplicación ejecuta la consulta. Use corchetes ([ ]) para incluir el texto que contenga espacios o signos de puntuación. Por ejemplo, [Precio inferior] y [¿Con qué mes debe comenzar el informe?] son argumentos nombre válidos. |
tipo_datos |
Uno de los principales tipos de datos de Microsoft Access SQL o sus sinónimos. |
Comentarios
Para consultas que se ejecuten habitualmente, puede usar una declaración PARAMETERS para crear una consulta de parámetros. Una consulta de parámetros puede ayudar a automatizar el proceso de cambio de los criterios de la consulta. Con una consulta de parámetros, deberán proporcionarse los parámetros en el código cada vez que se ejecute la consulta.
La declaración PARAMETERS es opcional pero si se incluye, va delante de cualquier otra instrucción, incluida la instrucción SELECT.
Si la declaración incluye varios parámetros, sepárelos mediante comas. En el siguiente ejemplo, se incluyen dos parámetros:
PARAMETERS [Low price] Currency, [Beginning date] DateTime;
Puede usar nombre pero no tipoDeDatos en una cláusula WHERE o HAVING. En el siguiente ejemplo, se espera que se proporcionen dos parámetros y, después, se aplican los criterios a los registros de la tabla Orders:
PARAMETERS [Low price] Currency,
[Beginning date] DateTime;
SELECT OrderID, OrderAmount
FROM Orders
WHERE OrderAmount > [Low price]
AND OrderDate >= [Beginning date];
Ejemplo
Este ejemplo requiere que el usuario proporcione un puesto y lo use como criterio para la búsqueda.
Se llama al procedimiento EnumFields, que se incluye en el ejemplo de la instrucción SELECT.
Sub ParametersX()
Dim dbs As Database, qdf As QueryDef
Dim rst As Recordset
Dim strSql As String, strParm As String
Dim strMessage As String
Dim intCommand As Integer
' Modify this line to include the path to Northwind
' on your computer.
Set dbs = OpenDatabase("NorthWind.mdb")
' Define the parameters clause.
strParm = "PARAMETERS [Employee Title] CHAR; "
' Define an SQL statement with the parameters
' clause.
strSql = strParm & "SELECT LastName, FirstName, " _
& "EmployeeID " _
& "FROM Employees " _
& "WHERE Title =[Employee Title];"
' Create a QueryDef object based on the
' SQL statement.
Set qdf = dbs.CreateQueryDef _
("Find Employees", strSql)
Do While True
strMessage = "Find Employees by Job " _
& "title:" & Chr(13) _
& " Choose Job Title:" & Chr(13) _
& " 1 - Sales Manager" & Chr(13) _
& " 2 - Sales Representative" & Chr(13) _
& " 3 - Inside Sales Coordinator"
intCommand = Val(InputBox(strMessage))
Select Case intCommand
Case 1
qdf("Employee Title") = _
"Sales Manager"
Case 2
qdf("Employee Title") = _
"Sales Representative"
Case 3
qdf("Employee Title") = _
"Inside Sales Coordinator"
Case Else
Exit Do
End Select
' Create a temporary snapshot-type Recordset.
Set rst = qdf.OpenRecordset(dbOpenSnapshot)
' Populate the Recordset.
rst.MoveLast
' Call EnumFields to print the contents of the
' Recordset. Pass the Recordset object and desired
' field width.
EnumFields rst, 12
Loop
' Delete the QueryDef because this is a
' demonstration.
dbs.QueryDefs.Delete "Find Employees"
dbs.Close
End Sub