Propiedad Form.InputParameters (Access)

Use la propiedad InputParameters para especificar o determinar los parámetros de entrada que se pasan a una instrucción SQL en la propiedad RecordSource de un formulario o informe, o a un procedimiento almacenado cuando se usa como origen de registros dentro de un proyecto de Microsoft Access (.adp). String de lectura y escritura.

Sintaxis

más sencilla.InputParameters

expresión Variable que representa un objeto Form.

Comentarios

Cuando se usa con una propiedad RecordSource

Como ejemplo de una cadena de la propiedad InputParameters usada con una instrucción SQL en la propiedad RecordSource se podría usar la siguiente sintaxis.

state char=[Forms]![formname]![StateList], salesyear smallint=[Forms]![formname]![Enter year of interest]

Esto provocaría que el parámetro state se estableciera en el valor actual del control StateList y que se solicitara al usuario el parámetro salesyear . Si hay otros parámetros que no estén en esta lista, se les asignarán valores predeterminados.

La consulta debe ejecutarse con un marcador para cada parámetro no predeterminado de la lista InputParameters .

Un comando de actualización o reconsulta (a través del menú, el teclado o la barra de navegación) en Access debe desencadenar una nueva ejecución de la consulta. Los usuarios pueden hacer esto en el código llamando al método Requery estándar. Si el valor de un parámetro depende de un control del formulario, se usa el valor actual del control en el momento de ejecutar la nueva consulta. La consulta no se vuelve a ejecutar automáticamente cuando cambia el valor del control.

Cuando se usa con un procedimiento almacenado

Una cadena de propiedad InputParameters de ejemplo que se usa con un procedimiento almacenado usaría la sintaxis siguiente.

@state char=[Forms]![formname]![StateList], @salesyear smallint=[Forms]![formname]![Enter year of interest]

Esto provocaría que el @state parámetro se estableciera en el valor actual del control StateList y que se solicitara al usuario el @salesyear parámetro. Si hubiera otros parámetros para el procedimiento almacenado que no estuvieran en esta lista, obtendrían los valores predeterminados asignados.

El procedimiento almacenado debe ejecutarse mediante una cadena de comando que contenga la sintaxis {call } con un marcador para cada parámetro no predeterminado en la lista InputParameters .

Un comando de actualización o reconsulta (a través del menú, el teclado o la barra de navegación) en Access debe desencadenar una nueva ejecución del procedimiento almacenado. Los usuarios pueden hacer esto en el código llamando al método Requery estándar. Si el valor de un parámetro depende de un control del formulario, se usa el valor actual del control en el momento de ejecutar la nueva consulta. El procedimiento almacenado no se vuelve a ejecutar automáticamente cuando cambia el valor del control.

Este cuadro de diálogo del generador se abre cuando se selecciona primero un procedimiento almacenado como el origen de registros de un formulario si el procedimiento almacenado tiene algún parámetro. Tras la creación inicial de la cadena InputParameters, se utiliza este mismo cuadro de diálogo como un generador para cambiar la cadena. En este caso, sin embargo, la lista de parámetros proviene de lo que ya existe en la cadena.

Los valores de parámetros también se pueden establecer en el código mediante el comando y los objetos de parámetro del objeto de datos ActiveX (ADO). Si el resultado devuelve un conjunto de resultados, se puede enlazar a él un formulario estableciendo la propiedad Recordset del formulario. La codificación ADO es la única manera de controlar los procedimientos almacenados que no devuelven conjuntos de resultados, como consultas de acción, los que devuelven parámetros de salida o los que devuelven varios conjuntos de resultados.

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.