Como actualizar de modo automático el listado de formulario

Tengo. Un formulario con un listado de personas y desde él abro un segundo formulario que inserta un registro en una tabla. Al hacerlo, la persona elegida deja de estar en el formulario inicial, pero para ello tengo que actualizarlo mediante un botón al que le pongo el evento Interaction.SendKeys "{F5}". Mi pregunta es si se puede. Automatizar sin tener que dar al botón para actualizar.

2 respuestas

Respuesta
1

Al final lo he podido solucionar desde el botón guardar cuando edito o doy de alta a un nuevo alumno. En el evento del botón guardar he puesto el código Interaction.SendKeys "{F5}"

Respuesta

No sé como tienes construidos los formularios ni en que evento quieres que suceda la eliminación. Si tengo el formulario Usar

Al que le he dejado visible el campo Idcliente, aunque no sería necesario que apareciera en el formulario. Si pulso el botón Abrir del Idcliente=3

Se abre el formulario Ventas en un registro nuevo y en vista diálogo para que veas como funciona. En el momento de abrirse, en el campo Idcliente te pone el mismo que habías elegido en el formulario Usar. Pones la fecha, pones el producto y cuando cierras el formulario Ventas

Ha "desaparecido" el 3. Te lo has liquidado, pobre, era un cliente que pagaba religiosamente.

El código del botón abrir es

DoCmd. OpenForm "ventas",,,, acFormAdd, acDialog

Y los códigos del formulario Ventas

Private Sub Form_Close()
DoCmd.SetWarnings False
DoCmd.RunSQL "delete * from usar where idcliente=" & Me.IdCliente & ""
If CurrentProject.AllForms("usar").IsLoaded Then
Forms!usar.Requery
End If
End Sub
Private Sub Form_Current()
If CurrentProject.AllForms("usar").IsLoaded Then
IdCliente = Forms!usar!IdCliente
End If
End Sub

Gracias por responder. Sin embargo no se trata de eliminar un registro de una tabla. El proceso es el siguiente:

Es una base da datos de alumnos, y en el tengo un form1 que recoge los alumnos que todavía no han hecho una prueba o examen.

Si selecciono un alumno y hago click en NUEVO se abre otro formulario form2 donde pongo los datos de la prueba (fecha, resultados, etc.). Una vez hecho, cierro form2. y vuelvo a tener el foco en form1. Aquí es donde está la duda:  Al volver a form1. el alumno al que le he hecho la prueba sigue apareciendo en la lista, y para que ya no aparezca en la lista he creado el botón ACTUALIZAR con el código Interaction.SendKeys "{F5}", que hace que actualice el form1, no apareciendo ya el alumno en cuestión.

También hay que tener en cuenta que no puedo utilizar Forms!form1.Requery más  Interaction.SendKeys "{F5}" en el evento al_cerrar, ya que ese mismo form2 lo utilizo desde otro punto de la aplicación que me da error si lo pongo en el evento "al_cerrar".

No interesa tanto la imagen del formulario donde aparecen los nombres, si no los nombres de los formulario y su diseño, y como determinas que alumnos no tienen realizada la prueba. ¿Podrías poner una imagen con tres o cuatro registros inventados de como es la tabla( o el formulario) donde pones el resultado de las pruebas.

Por ejemplo, en el botón que te citaba arriba se puede poner que abra el formulario Pruebas(emergente) sólo con aquellos registros en que el idalumno sea igual y que alguna prueba no esté realizada.

Otro, se le puede decir que lo mismo y dejar los cuadros de texto (si es que son) de las realizadas como bloqueados, o que las no realizadas te las ponga de un color.

Otro, en este formulario Pruebas, por más que te empeñes en lo de Sendkeys, se le puede decir, que al cerrar

Docmd.runsql"Update alumnos set prueba1=""Realizada"" where...

Otro,, se le puede decir al formulario Alumnos que sólo muestre aquellos alumnos en que la(una) prueba no esté realizada.

O se puede poner un combinado, que te muestre lo mismo que el punto anterior y que al elegir un alumno, se abra el dichoso formulario Pruebas

Y así, hasta trescientos millones de opciones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas