Share via


Propiedad Form.InputParameters (Access)

Utilice 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 un procedimiento almacenado cuando se usa como origen de registro dentro de un proyecto de Microsoft Access (.adp). String de lectura y escritura.

Sintaxis

expresión. 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 daría lugar a que el parámetro de estado se establezca en el valor actual del control StateList y al usuario se le pida 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 actualizar o volver a consultar (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 hacerlo 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 usada con un procedimiento almacenado usaría la sintaxis siguiente.

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

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

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

Un comando actualizar o volver a consultar (a través del menú, el teclado o la barra de navegación) de Access debe desencadenar una nueva ejecución del procedimiento almacenado. Los usuarios pueden hacerlo 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 procede de lo que ya existe en la cadena.

Los valores de parámetro también se pueden establecer en el código mediante los objetos Command y Parameter del objeto de datos ActiveX (ADO). Si el resultado devuelve un conjunto de resultados, un formulario se puede enlazar a él estableciendo la propiedad Recordset del formulario. La codificación de 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.