
¿Como asignar a una RowSource una Consulta sql con Parametros?
Publicado por Juan (9 intervenciones) el 29/05/2014 13:07:38
Hola,
Estoy trabajando con una base de datos MS-Access 2010. Tengo un formulario con una combo cuya propiedad "RowSource" va cambiando según valores de otros controles del mimo formulario. Esta asignación la hago desde el código escrito en VB.
El valor asignado a RowSource es una sentencia SELECT contra tablas en la misma BD Access 2010.
Se da el caso que la sentencia SELECT se ha hecho tan larga que ya no es aceptada por la propiedad RowSource.
Para salir del paso he creado una "Consulta-Access" tipo SELECT para posteriormente poder utilizar el nombre de esta consulta en la propiedad "RowSource".
Con este truco resuelvo el problema de la limitación de "select demasiado larga" en el RowSource, pero para que la solución sea totalmente funcional, necesitaría que la "Consulta-Access" admitiera parámetros de entrada para que la SELECT no devuelva siempre el mismo resultado.
Ejemplo simplificado de una "Consulta-Access" con parámetro como la que he creado:
Asignar el nombre de la consulta-access a la propiedad RowSource de la combo box (miCombo.RowSource = "NombreConsulta") permite que la consulta-access se ejecute (al ejecutar miCombo.Requery ), pero primero me sale un mensaje de pop-up solicitando un valor para el parámetro de la consulta-access.
¿Cómo puedo asignar un valor al parámetro y con esto evitar que salga este mensaje de pop-up?
Estoy trabajando con una base de datos MS-Access 2010. Tengo un formulario con una combo cuya propiedad "RowSource" va cambiando según valores de otros controles del mimo formulario. Esta asignación la hago desde el código escrito en VB.
El valor asignado a RowSource es una sentencia SELECT contra tablas en la misma BD Access 2010.
Se da el caso que la sentencia SELECT se ha hecho tan larga que ya no es aceptada por la propiedad RowSource.
Para salir del paso he creado una "Consulta-Access" tipo SELECT para posteriormente poder utilizar el nombre de esta consulta en la propiedad "RowSource".
Con este truco resuelvo el problema de la limitación de "select demasiado larga" en el RowSource, pero para que la solución sea totalmente funcional, necesitaría que la "Consulta-Access" admitiera parámetros de entrada para que la SELECT no devuelva siempre el mismo resultado.
Ejemplo simplificado de una "Consulta-Access" con parámetro como la que he creado:
1
2
3
4
PARAMETERS [miParametro1] Long;
SELECT Fecha, Importe, Nombre
FROM miTabla
WHERE [miTabla].[Importe] = [miParametro1]
Asignar el nombre de la consulta-access a la propiedad RowSource de la combo box (miCombo.RowSource = "NombreConsulta") permite que la consulta-access se ejecute (al ejecutar miCombo.Requery ), pero primero me sale un mensaje de pop-up solicitando un valor para el parámetro de la consulta-access.
¿Cómo puedo asignar un valor al parámetro y con esto evitar que salga este mensaje de pop-up?
Valora esta pregunta


0