Access - Autocompletar condicional en formulario

   
Vista:

Autocompletar condicional en formulario

Publicado por Michun (4 intervenciones) el 29/09/2015 13:05:44
Hola amigos:

Utilizo Access 2007, les explico mi problema y qué es lo que necesito:

Tengo una tabla TBLSEMINARIOSGRUPOS, con los campos CURSO, CODIGOSEMINARIO, NUMEROGRUPO, donde se registran los seminarios disponibles cada año (CURSO) y cuantos grupos horarios (NUMEROGRUPO) hay para cada curso (CURSO); de cara a hacer una solicitud.

Tengo además un subformulario para solicitar el curso que se quiere hacer y en qué grupo horario quiere hacerse (NUMEROGRUPO) con lo siguiente:

1- Combo que muestra sólo los CODIGOSEMINARIO que están disponibles en el CURSO que se realiza la solicitud.
2- Combo que muestra los NUMEROGRUPO disponibles de ese CODIGOSEMINARIO una vez seleccionas el primer combo.


Tal como lo tengo ahora, al seleccionar el CODIGOSEMINARIO de la lista, el campo NUMEROGRUPO se queda en blanco en todos los casos para que se elija de la lista uno de los grupos disponibles para ese CODIGOSEMINARIO.

Lo que a mi me gustaría es que en los CODIGOSEMINARIO en los que hay un sólo NUMEROGRUPO disponible, se auto completara el NUMEROGRUPO con un "1".


Es decir, meter un condicional al primer combo (CODIGOSEMINARIO) para que después de actualizarlo, ponga el siguiente campo (NUMEROGRUPO) en blanco si ese CODIGOSEMINARIO tiene más de un NUMEROGRUPO disponible, o coloque directamente un "1" si ese CODIGOSEMINARIO seleccionado sólo tiene un posible NUMEROGRUPO.


Sé hacer la consulta que me muestra la lista de CODIGOSEMINARIO que cumplirían lo que quiero, pero al hacer el IF, no me funciona...



Esta sería la consulta que me mostraría los CODIGOSEMINARIO que cumplen la condición. Donde XXX es el CURSO que se coge del formulario donde está alojado el subformulario que utilizo para seleccionar CODIGOSEMINARIO y NUMEROGRUPO.

SELECT TblSeminariosGrupos.CodigoSeminario
FROM TblSeminariosGrupos
GROUP BY TblSeminariosGrupos.Curso, TblSeminariosGrupos.CodigoSeminario
HAVING (((TblSeminariosGrupos.Curso)=XXX) AND ((Count(TblSeminariosGrupos.NumeroGrupo))=1));


Si pongo lo siguiente en el AfterUpdate del primer combo, sí funciona:
Siendo "INT" uno de los posibles CODIGOSEMINARIO a seleccionar
IF Me.CodigoSeminario = "INT" then
Me.NumeroGrupo = "1"
Else
Me.NumeroGrupo =""
End If


El problema está en que funcione para todos los COGIGOSEMINARIO de ese CURSO que tengan sólo un NUMEROGRUPO.

He intentado algo similar a esto, y muchas otras cosas...

IF Me.CodigoSeminario = "SELECT TblSeminariosGrupos.CodigoSeminario FROM TblSeminariosGrupos GROUP BY TblSeminariosGrupos.Curso, TblSeminariosGrupos.CodigoSeminario HAVING (((TblSeminariosGrupos.Curso)=XXX) AND ((Count(TblSeminariosGrupos.NumeroGrupo))=1))" then
Me.NumeroGrupo = "1"
Else
Me.NumeroGrupo =""
End If

Pero nada me funciona...

Alguien que pueda ayudarme?? GRACIAS!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Autocompletar condicional en formulario

Publicado por Michun (4 intervenciones) el 30/09/2015 19:51:13
CONSEGUIDO!!

Bueno, después de no sé cuanto tiempo, y no sé cuantos intentos, he conseguido que funcione cambiando mi punto de vista... Os pongo aquí lo que he hecho por si a alguien le sirve de algo.

He añadido al primer combo (CODIGOSEMINARIO) una columna con anchura 0 para que no se vea al desplegar, en la que he puesto el MAX de los NumeroGrupo. Así ese combo tiene la información del CodigoSeminario y Max(NumeroGrupo) de cada uno de los códigos de seminario.

Para que en el segundo combo (NUMEROGRUPO) se ponga el 1 en NUMEROGRUPO de los seminarios que tengan un sólo grupo, he añadido en el AFTERUPDATE del primer combo este código:

If Me.CodigoSeminario.Column(2)=1 then
Me.NumeroGrupo = 1


Era muy sencillo, y seguro a alguno se le ocurre alguna otra opción, pero así de momento funciona!

Si alguien ve algún problema con este sistema, por favor que me lo diga...

GRACIAS!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar