Las consultas con parámetros son aquellas cuyas condiciones de búsqueda se definen mediante parámetros. Si se ejecutan directamente desde la base de datos donde han sido definidas aparecerá un mensaje solicitando el valor de cada uno de los parámetros. Si deseamos ejecutarlas desde una aplicación hay que asignar primero el valor de los parámetros y después ejecutarlas. Su sintaxis es la siguiente:
PARAMETERS nombre1 tipo1, nombre2 tipo2, ... , nombreN tipoN Consulta
En donde:
Parte | Descripción |
nombre | Es el nombre del parámetro |
tipo | Es el tipo de datos del parámetro |
consulta | Una consulta SQL |
Puede utilizar nombre pero no tipo de datos en una cláusula WHERE o HAVING.
PARAMETERS Precio_Minimo Currency, Fecha_Inicio DateTime;
SELECT IDPedido, Cantidad FROM Pedidos WHERE Precio >
Precio_Minimo
AND FechaPedido >= Fecha_Inicio;
El ejemplo siguiente muestra como utilizar los parámetros en el programa de Visual Basic:
Public Sub GeneraConsulta()
Dim SQL As String
Dim Qd As QueryDef
Dim Rs As Recordset
SQL = "PARAMETERS Precio_Minimo Currency, Fecha_Inicio
DateTime; "
SQL = SQL & "SELECT IDPedido, Cantidad FROM Pedidos WHERE
Precio > "
SQL = SQL & "Precio_Minimo AND FechaPedido >= Fecha_Inicio;
"
Set Qd = BaseDatos.CreateQueryDef(MiConsulta, SQL)
Qd.Parameters!Precio_Minimo = 2
Qd.Parameters!FechaInicio = #31/12/95#
Set Rs = Qd.OpenRecordset()
End Sub
Ejemplo:
PARAMETERS [Escriba los Apellidos:] Text; SELECT * FROM
Empleados
WHERE [Escriba los Apellidos:] =
[Apellidos];
La ejecución desde la base de datos solicita al usuario los apellidos del empleado y después muestra los resultados.