** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Refrescar consulta referencias cruzadas
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoRefrescar consulta referencias cruzadas

 Responder Responder
Autor
Mensaje
gadacc Ver desplegable
Nuevo
Nuevo


Unido: 18/Septiembre/2020
Localización: españa
Estado: Sin conexión
Puntos: 36
Enlace directo a este mensaje Tema: Refrescar consulta referencias cruzadas
    Enviado: 28/Febrero/2021 a las 21:39
Buenas tardes,

Tengo un formulario con una lista de selección múltiple y con un subformulario basado en una consulta de referencias cruzadas.

Quiero que, sin salir del formulario, al pulsar un botón se actualice el subformulario basado en la consulta.

Como me ha dicho Xavi, para insertar:

Me!unControlSubformulario.SourceObject = "Query.NombreConsult"

Y para refrescar:

Me!unControlSubformulario.

Pero no consigo que funcione. Me da un error de que no se puede eliminar el objeto "apuntado en estos cursos" de la base de datos mientras esté abierto. Y si pongo una Set qdf = dbs.Createquerydef("apuntado en estos cursos", strSQL) me dice que el objeto ya existe.

lo que quiero es que al cambiar las selecciones de la lista múltiple y al pulsar el botón me actualice en su formulario.

Gracias.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14734
Enlace directo a este mensaje Enviado: 28/Febrero/2021 a las 23:36
Hola,

Me temo que algo deberás cambiar de tu planteamiento. Si mal no recuerdo generas la SQL leyendo los valores seleccionados en un ListBox y luego la almacenas en una consulta. Esa consulta la utilizas como objeto origen de un subfomulario.

Ahora intentas que, modificando los valores y pulsando un botón , se actualice el subformulario.

Dado que creas la consulta en tiempo de ejecución, alguna cosa deberás cambiar.

Como ya has visto, no puedes eliminar un objeto si está en uso. Deberás "desasociar" el subformulario. Lo ocultas y luego eliminas el SourceObject
Una vez desasociado, eliminas el objeto, lo regeneras con la nueva WHERE, lo vuelves a asociar y lo muestras.

O sea, el Me!unControlSubformulario.Requery no te va a funcionar con ese método que tienes establecido.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
gadacc Ver desplegable
Nuevo
Nuevo


Unido: 18/Septiembre/2020
Localización: españa
Estado: Sin conexión
Puntos: 36
Enlace directo a este mensaje Enviado: 01/Marzo/2021 a las 23:18
Muchísimas gracias por tu ayuda Xavi. Ahora sí funciona.
Arriba
gadacc Ver desplegable
Nuevo
Nuevo


Unido: 18/Septiembre/2020
Localización: españa
Estado: Sin conexión
Puntos: 36
Enlace directo a este mensaje Enviado: 02/Marzo/2021 a las 23:13
Solucionado. Se puede cerrar.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable