Ejecutar una consulta en con dos criterios en base al valor de un cuadro combinado en formulario

Tengo un formulario "Abonados_Betis" y una consulta de selección "C_Abonados_Betis" y necesito ejecutarla en base al valor de un cuadro combinado, que tengo en el formulario.

A ver si lo explico mejor: el valor del cuadro combinado indica un rango de registros y la idea es que en el evento "al hacer click" del botón de comando, se ejecute la consulta con sus criterios y me devuelva solo los registros que estén dentro del rango que indique el combo.

Llevo dos días con esto y no lo saco.

1 respuesta

Respuesta
2

Antonio, después del partido de ayer...

Suponiendo que en el combinado los valores te aparezcan como

1-15

16-30

31-45

Etc

Tendrías que "partir" la cadena en dos valores. Se puede hacer, pero creo que eso es complicarse innecesariamente. Otra cosa sería, si el combinado mostrara, por ejemplo,

RegInicio RegFin

      1              15

     16             30

     31              45

Entonces en la consulta en la casilla criterios podrías poner

Entre forms! Nombredelform! Nombredelcombo. Column(0) y forms! Nombredelform! Nombredelcombo. Column(1)

De todas formas, también podrías poner como criterio

Entre [Escriba un registro inicial] y [Escriba un registro final]

Así cuando fueras a abrir la consulta te pediría esos valores y en el botón, sin necesidad de combinado podrías poner simplemente

Docmd. Openquery"Nombre de la consulta"

El Partidito de ayer para el olvido, "sin comentarios"

El combo marca la temporada 2019/2020, 2020/2021...., etc. de lo que se trata es de que al hacer click en el botón "EN EFECTIVO A LA  PEÑA" me devuelva los registros de los abonados a la temporada que indique el combo que ha pagado su abono "EN EFECTIVO A LA PEÑA", 

A lo mejor se puede hacer de otra manera, "directamente de la tabla o de un formulario"   pero no tengo ni idea, 

Tu como lo harías?

Vamos a suponer que la consulta se llama Consulta1 y vamos a suponer que el combinado donde eliges la temporada se llama Elegir. En el formulario le añado un cuadro de texto oculto, que en mi caso se llama Texto 15.

En el evento Al hacer clic del botón Efectivo a Peña Betica le pongo

Texto15 = "Efectivo a peña betica"
DoCmd. OpenQuery "consulta1"

En el botón MedioParticular le pongo

Texto15 = "Medio Particular"
DoCmd. OpenQuery "consulta1"

Y en la consulta 1 la pongo como

O sea, en el formulario, en el combinado Elegir, elijo una temporada y al pulsar el botón

1º Me pone en el cuadro de texto Texto15 el valor que haya definido para cada botón

2º Me abre la consulta1 usando como criterios lo que hayas elegido en Elegir y lo que haya en Texto15

Buenas  tardes Julian:

Algo he debido hacer mal, porque no me funciona.

Te comento:

Al hacer click en cualquiera de los dos botones, primero  me pide que introduzca el valor del parámetro correspondiente a la temporada y a continuación me pide que introduzca el valor del cuadro de texto

En los botones tengo esto.

En mi búsqueda de posibles soluciones les he puesto el metodo  del ".Value", pero nada de nada

Y en la consulta esto

Y cuando ejecuto cualquiera d elos dos botones, me sale esto:

 y al hacer click en el "Aceptar", me sale otro igual pidiendo el valor del cuadro de texto, que , como puedes ver, porque te lo he puesto visible para ilustrar, si coge el valor. esperado. pero no me devuelve los registros indicados.

Les he dado muchas veltas y no consigo que funcione.

A ver si me puedes asesorar sobre donde me he equivocado?

Si tengo la tabla T_Abonados_Betis

Puedes comprobar que hay tres aficionados que en la temprada_abonados 2019/2020 han pagado en efectivo a la peña betica

Por otro lado tengo el formulario Abonados_Betis, donde dejo a la vista el cuadro de texto Texto15

El combinado, siguiendo lo que me dices, se llama Temprada_Abonados. Lo primero, voy a elegir la temporada 2019/2020

Cuando pulso el botón Efectivo a peña betica(puedes comprobar que lo he pulsado por su entorno de puntitos)

Primero, en texto 15 me pone lo que dices, y segundo

Y el código del formulario es el que te puse. 

Private Sub Comando5_Click()
Texto15 = "En efectivo a peña betica"
DoCmd.OpenQuery "C_Abonados_Betis"
End Sub
Private Sub Comando6_Click()
Texto15 = "Medio Particular"
DoCmd.OpenQuery "C_Abonados_Betis"
End Sub

Amigo Julián:

Después de haberlo intentado en varias ocasiones siguiendo tus indicaciones, no pude hacer que funcionara, seguía pidiendo los parámetros .

Esta mañana me he puesto a investigar por el sistema de prueba/error y resulta lo siguiente:

He creado una nueva consulta "C_Pago_Abono", en el formulario he puesto un Combo independiente con las opciones "EN EFECTIVO A PEÑA BÉTICA" y "POR MEDIOS PROPIOS", y un botón para ejecutar la consulta.

En los criterios de la consulta he generado las siguientes expresiones:


De manera que si en el combo elijo una opción y ejecuto la consulta...

Y Funciona perfectamente

Quería que supieras que al final he conseguido que funcione y como lo he hecho,

Muchas gracias amigo

Si a ti te funciona ni mil palabras. Por cierto, no sólo el partido del Betis es para olvidar. Vaya mier... de jornada. Parece que los jugadores salgan a entrenar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas