una tabla siguiente regresamos registros registro que previo pasamos operacion nuevo navegacion modifican los insertar hace formulario eliminar desde datos creamos con como buscar barra agregar ms-access vba access-vba ms-access-2003

ms access - tabla - ¿Evitar pasar al siguiente registro cuando presionas Enter?



insertar registros en access desde formulario (6)

Tengo un formulario en Access 2003 que solo debería funcionar con un solo registro. Puedo establecer la propiedad de Cycle en Current Record , pero el formulario sigue saltando al siguiente registro cuando presiono Entrar. Mi primer pensamiento fue una propiedad de KeyPreview , pero no estoy viendo una. Mi otro pensamiento es tal vez el evento KeyPress o KeyUp , pero pensé que podría preguntar en caso de consecuencias no deseadas. ¿Algunas ideas?


La propiedad Cycle solo afecta la tecla TAB.

Para controlar el comportamiento de la tecla Enter que es una propiedad global.

Vaya a Herramientas / Opciones - pestaña Teclado y en "Mover después de ingresar" seleccione "Siguiente campo"

Hay eventos KeyPress y KeyDown que puede usar para atrapar la tecla Intro también, pero eso es más trabajo.


La propiedad Cycle solo funciona con la tecla Tab.

Hay dos opciones que podrías perseguir.

Puede atrapar la tecla Intro en KeyDown / KeyUp / KeyPressed
- O -
Puede filtrar el origen de datos al único registro que desea editar, y deshabilitar la adición de nuevos registros a través de ese formulario.


Puede agregar el código siguiente al evento ''BeforeUpdate'' de su formulario. Si el uso desea pasar al siguiente registro, le pedirá al usuario que lo guarde y luego lo cerrará antes de que pueda pasar a otro registro.

Private Sub Form_BeforeUpdate(Cancel As Integer) Select Case MsgBox("Save?", vbYesNo) Case vbYes DoCmd.Close Case vbNo Cancel = True End Select End Sub



Las teclas de momento como TAB , Alt , PgUP , PgDn , Enter se presionan al final de agregar el registro (después del último campo en su mayoría), la base de datos guarda automáticamente toda la información que ingresó en el formulario y borra los campos para que puede ingresar el siguiente valor Entonces, lo que sucede es que los datos se guardan pero el formulario parece vacío.

3 cosas para hacer:

  1. Propiedad del ciclo de formulario establecida en el registro actual.
  2. La propiedad de previsualización de clave de formulario está configurada en Sí.
  3. Agregue el siguiente código al evento KeyDown del formulario:

    ''33 - PgUp; 34 - PgDown; 9 - Tab; 18=Alt; 13=Enter Select Case KeyCode Case 33, 34, 18, 9, 13 KeyCode = 0 Case Else ''Debug.Print KeyCode, Shift End Select

    Lo encontré mientras recorría la web y no me atribuyo el crédito ni la responsabilidad del código, pero no sé dónde lo encontré. ¡Funciona para mi!


Si accede a Opciones de acceso en la página de archivos, vaya a Configuración del cliente y la primera configuración le permitirá elegir a dónde cambia su enfoque cuando presione enter. Al menos en Access 2013.