Cómo actualizar desplegable sin salir del formulario

Os planteo la cuestión. Tengo un formulario con un combo en el que elijo el nombre de un libro. Al lado he creado un botón que abre un formulario para insertar un nuevo libro si no estuviera en el desplegable del formulario actual. ¿Cómo conseguir que una vez grabado se actualice el combo con el nuevo libro? ¿Qué evento y qué instrucciones utilizar?

2 respuestas

Respuesta
1

Tienes que "recargar" los datos del cuadro combinado, con la instrucción "Requery"

Puedes hacerlo, por ejemplo al cerrar el formulario en el que grabas el nuevo libro.

Private Sub Form_Close()

Form("NombreFormulario").NombreCuadroCombinado.Requery

End Sub

O en el evento Al recibir el enfoque de tu cuadro combinado:

Private Sub ...._GotFocus()

Me.Requery

End Sub

Lo mismo te valdría en el evento "Al entrar" del combo.

Un saludo.


Un nuevo foro de access, visítanos: http://nksvaccessolutions.com/Foro/ 

Muchas gracias! Como siempre, respondes claramente dando la solución a muchos problemas a los que no dominamos los eventos de access. Gracias de nuevo.

Respuesta
1

Yo no usaría ningún botón. Verás los combinados tienen un evento llamado Al no estar en lista. Pues bien, basta con que en ese evento le pongas

Dim libronuevo As Integer, título As String, mensaje As Integer

título = "El libro que ha escrito no está en la lista"
mensaje = vbYesNo + vbDefaultButton1
Clientenuevo = MsgBox("¿Desea agregar este libro a la lista ?", mensaje, título)
    If libronuevo = vbYes Then
    DoCmd.RunCommand acCmdUndo

DoCmd.OpenForm "libros", acNormal, "", "", acAdd, acDialog

Response = acDataErrAdded
End If

Así cuando escribas un libro que no está en la lista, te aparecerá el mensaje diciendo que no está. Si pulsas aceptar se abre el formulario libros para que lo des de alta. Una vez que hayas puesto los datos y cierres el formulario Libros, en el combinado ya te aparece el libro nuevo. Si por el contrario pulsaras que No, te vuelve el cursor al combinado.

Todo esto siempre y cuando tengas en las propiedades del combinado Limitar a la lista=Si

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas