2012-06-05 14 views
8

Esta es una pregunta vaga y difícil de explicar. Intento codificar mi base de datos de acceso, pero la parte de VBA me molesta mucho. Cada vez que escribo algo y pulso el espacio, automáticamente volveré a hacer ese espacio y me pondré de nuevo en contra de la palabra anterior que estaba escribiendo. Además, Intellisense saldrá por una fracción de segundo, parpadeará y desaparecerá, y volverá mi cursor al texto que estaba escribiendo. Esto me permite escribir constantemente cosas en lugares donde no deberían estar y la falta de espacios entre los elementos de mi código. ¿Alguien sabe por qué ocurriría esto? La base de datos que estoy usando se creó en Access 2007, pero la estoy desarrollando en 2010. En la parte superior dice Microsoft Access 2007-2010.¿Por qué mi VBA para MS Access es Buggy?

Gracias por su ayuda.

+1

También vea esto: http://stackoverflow.com/questions/1164138/vba-editor-auto-deletes-spaces-at-the-ends-of -lines –

+0

Eso también es útil y puede resolver parcialmente el problema, Gracias. – Scotch

Respuesta

13

La causa más probable es que tiene un formulario abierto con un evento de temporizador activo.

Lo que está sucediendo es que mientras está editando su código, hay un código ejecutándose en un intervalo regular. Cada vez que se ejecuta el otro código, se ejecuta el compilador just-in-time para VBA.

Normalmente, cuando se está escribiendo código, esta compilación en tiempo real sucede cuando se pasa de una línea de código a otro: Los errores de compilación se levantan, espacios en blanco finales se recorta, etc.

Sin embargo, en su caso tienes algún pedazo de código que se está ejecutando. Antes de que pueda ejecutarse, el compilador debe ejecutarse. Y hace las mismas cosas que normalmente hace. Lo más molesto es que recorta el espacio en blanco al final de su línea.


La solución es cerrar el formulario con el evento de temporizador activo, o establecer el intervalo del temporizador a 0 mientras se está editando su código.

+1

Gracias por su explicación. Eso parece haberlo solucionado en su mayor parte. El desarrollador anterior usa una forma oculta con un evento de temporizador activo, según entiendo, para realizar un seguimiento de "globales". En cualquier caso, cerrar todos los formularios parece solucionar el problema. ¡Gracias! – Scotch

+2

+1 También he votado a favor de @Scott para que OP pueda votar. – Fionnuala

+1

Ha aceptado la suya como la respuesta correcta. Sin embargo, por algún motivo las formas sin temporizadores siguen causando este problema. Es frustrante tener que cerrar estos formularios mientras codigo. Es un alivio escribir esta respuesta ya que no tengo que mezclar la barra espaciadora y reiniciar el cursor :) – Scotch

Cuestiones relacionadas