Grabar datos en cuadro combinado

Tengo un formulario con varios cuadros combinados. En dichos cuadros combinados selecciono los valores que me interesan y después con un botón de comando paso esos datos seleccionados a un documento Word.

El problema surge cuando por ejemplo en un cuadro combinado selecciono "A", imprimo el documento Word y después selecciono "B" y al imprimir con la nueva opción me sale el documento Word con la opción A. Por lo que tengo que salir del formulario y volver a entrar para seleccionar B y que se imprima el documento con la opción B.

Es decir, que no se "guarda" la nueva opción seleccionada y hay que salir del formulario y hacerlo nuevamente para que quede guardada o grabada la nueva opción.

Me gustaría saber si hay alguna forma de poner en el evento "después de actualizar" o en el evento que corresponda, algún código que me grabe las opciones sin necesidad de salir del formulario.

2 Respuestas

Respuesta
1

Si el formulario es independiente, basta conque después de la instrucción donde envías los datos a Word pongas

Me. Requery

Digamos que esto te deja el formulario a cero.

O también si el combinado, también independiente, se llama, por ejemplo, ElegirNombre puedes hacer lo mismo de antes pero poniendo en vez de Me. Requery

ElegirNombre. Requery

Respuesta
1

Debe actualizar el campo en la tabla cada vez que cambie el valor en el cuadro combinado. Puede hacerlo con una consulta SQL de actualización (UPDATE) o asignando el valor directamente a un campo enlazado.

Código VBA para el evento "Después de actualizar"

Private Sub SuCuadroCombinado_AfterUpdate()
    ' Guardar el formulario para asegurar que el dato se registre en la tabla
    Me.Dirty = False
End Sub

Verificar antes de generar el documento Word

Antes de generar el documento Word, puede asegurarse de que los datos están guardados con:

If Me.Dirty Then Me.Dirty = False

En conclusión

Método más sencillo:

Me.Dirty = False en el evento AfterUpdate.

Si el cuadro combinado no está enlazado: Use una consulta UPDATE.

Antes de generar el documento Word:

Asegure los cambios con If Me.Dirty Then Me.Dirty = False.

Con esto, no tendrá que salir y volver a entrar al formulario para que se guarden los valores seleccionados.

¡Gracias! Me ha funcionado correctamente.

Muchas gracias por la ayuda.

Me alegro le haya servido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas