Problema Con ACCESS, Consultas Paramétricas

Soy nuevo en este medio, por eso necesito ayuda con una consulta, quiero extraer de un campo una parte y que me lo arroje en un informe.

La consulta por si sola funciona sin problemas y también el informe, pero paso a explicar el problema quiero introducir el parametro desde un formulario, pero me pide introducir los mismos parámetros dos veces.

Creo que lo que tengo mal es la posición a la hora de relacionarlo con el formulario.

El parámetro que pongo es como "*"&[pregunta]&"*" Quisiera que me dijerais como tengo que colocarlo, yo lo coloco en la consulta pero cuando abro el formulario antes de abrirse ya me hace la primera pregunta, y después de rellenar el formulario me vuelve a pedir los mismo.

1 respuesta

Respuesta
2

Sebastian: Prueba con lo siguiente, forzando el parámetro:

Vista diseño de la Consulta >> Pestaña del Ribbon Diseño >> Ala derecha verás Parámetros y al pulsar se te abre un Formulario tipo Tabla con los campos de Parámetro y Tipo de Datos.

En Parámetros le pones exactamente [pregunta] y en tipo de datos, el tipo de datos que sean.

Texto, o lo que sea tu dato. Lo que no acabo de ver es lo del Formulario, porque según lo que citas, lo que te va a hacer es sacarte un InputBox.

Un saludo >> Jacinto

Hola, Jacinto, gracias por tu pronta respuesta he realizado lo que me has indicado pero ahora no me filtra y me salen todos los registros, y cuando intento colocar el criterio me sigue pidiendo por duplicado.

Muchísimas gracias y un saludo

Sebastián: Lo que te he comentado es suponiendo que tienes:

1 Informe con Origen de Datos en una Consulta.

Una Consulta que en los Criterios de un Campo le pones >> Como "*" & [Pregunta] & "*"

En esa Parrilla que te he comentado has de ponerle [Pregunta] y el tipo de dato.

Entonces al pedir el Informe te debe salir un Formulario Emergente (InputBox), que es donde escribes, por Ejemplo >> Ma y te muestre María, Manuel...

Si no es así me comentas y vemos que hacer.

No obstante lo anterior, te comento que solo en ocasiones filtro en Consulta, sino que lo hago al abrir el informe con un código tal como éste. En el Evento Al abrir

Private Sub Report_Open(Cancel As Integer)
Dim FiltroNombre As String
FiltroNombre = "Nombre LIKE '" & InputBox("Introduce el Nombre a Buscar", , "*") & "'"
Me.Filter = FiltroNombre
Me.FilterOn = True
End Sub

De ésta manera, en muchas ocasiones me ahorro las consultas y pongo la Tabla directamente como Origen de Datos del Informe. Un saludo >> Jacinto

Hola de nuevo, Jacinto, en efecto tengo un informe con el Origén de datos en la Consulta, también tengo puesto los criterios en la consulta y como tu me indicaste también en los parámetros y todo funciona perfectamente es cuando llamo al informe desde el formulario, me pide ingresar antes de abrir el formulario, después relleno el formulario y me vuelve a pedir antes del informe.

No sé que me puede pasar.

Vuelvo a darte las gracias de antemano por tu pronta respuesta y gran amabilidad.

Sebastián: Dime por favor la rutina que utilizas para abrir el Informe desde el Formulario.

Si fuera una macro incrustada asegura que no haya alguna instrucción repetida.

Si tienes un formulario con un botón que "solo" hace la Función de abrir el Informe, no debe ocurrir ese fenómeno que comentas.

Supongamos que tienes un Botón que se llame BtnInformeX. En el evento Click le pones

Private Sub BtnInformeX_Click()
DoCmd.OpenReport "NombreDeTuInforme", acViewPreview
End Sub

Salvo que haya otras cuestiones así no debes tener problemas. Ya me contarás. Saludos >> Jacinto

Hola de nuevo, Jacinto, Aquí te envío la consulta y la rutina de apertura del informe, de nuevo super agradecido y perdona por la paliza que te estoy ocasionando.

Sebastián: Algo raro debe haber, que ahora se nos escapa, porque lo que me muestras es correcto.

Si puedes y quieres, aísla en una Base de datos, los Objetos que intervienen en el Proceso, con algunos datos inventados y me la envías a [email protected]

Creo que será la via más directa de resolverlo. Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas