Como editar modulo VBA

Iniciado por Orubatosu, 19 Junio 2017, 18:26 PM

0 Miembros y 2 Visitantes están viendo este tema.

Orubatosu

A ver, esto es "y no es" VB, no se muy bien donde ponerlo.

La cuestión es que trasteando con el editor de VBA de Access me encuentro a menudo con un problema. Si el código me provoca un error a menudo se "cuelga", pero luego si intento abrir de nuevo el fichero de la BBDD este carga, pero a la mínima que intento tocar algo relacionado con el módulo donde hay un procedimiento que da error, me bloquea el problema y termina cerrandose.

¿Tenéis alguna solución al margen de sacar copias de seguridad cada poco rato? porque me parece una chapuza tremenda que Microsoft permita algo así
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

PalitroqueZ

ponle On Error GoTo x....... x: exit sub/function/.... a los procedimientos que veas que generan los "cuelgues"

"La Economía planificada lleva de un modo gradual pero seguro a la economía dirigida, a la economía autoritaria y al totalitarismo" Ludwig Erhard

Orubatosu

Si, eso lo tengo claro. Lo que pregunto es si puedo "recuperar" el fichero que ahora no me permite ejecutar y corregir el código

Porque el fichero ahora mismo, si lo cargo e intento simplemente editar se cuelga
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

Eleкtro

#3
Cita de: Orubatosu en 19 Junio 2017, 18:42 PM
el fichero ahora mismo, si lo cargo e intento simplemente editar se cuelga

No utilizo el MS Access, pero por lo creo haber entendido tu pregunta no tiene que ver con la programación, sino de que al intentar abrir y editar "X" archivo que contiene un código en VBA, la instancia del Access se cuelga? (¿al intentar tocar/editar ese código, sin más?), confírmamelo para moverlo a otro foro más adecuado...

¿Y de qué version de MS Access estamos hablando? (¿has probado utilizando una versión más reciente?). ¿Has comprobado que no exista ninguna actualización/bugfix de Microsoft para solucionar esos cuelgues?.

Saludos!








MCKSys Argentina

Es dudoso que la aplicación se cuelgue por el código VBA. Más aún porque no se ejecuta hasta que le activas la opción de que corra macros. Si ya lo haces, podrías probar reactivando la opción de deshabiliar macros.

Por otro lado, si no tienes data sensible, puedes subir el archivo para verlo. Ver el problema in-situ es mucho mejor que estar adivinando en base a descripciones.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Orubatosu

Ok... era simple. Deshabilitar Active-X y Macros, y he podido recuperar la base se datos y parte de los módulos. el "sub" que me daba problemas, ya no está aparentemente lo ha eliminado entero, pero como tenía copia del código me he salvado

Y esa era la duda real, como evitar que se me colgara la aplicación y la solución era tan simple como deshabilitar macros y Active-X, recuperar lo que se pueda, salvar, sacar copia y seguir con los experimentos.

Estaba accediendo a un fichero de access externo con VBA usando ODBC, y tonteando con la captura de errores se me ocurrió "probar" sin bloquear el funcionamiento tras el punto del error... culpa mía.

Btw, Access 2010.

Y ya tengo la solución, que era francamente "de tontos"... hasta que lo piensas, pero como lo del VBA "no es lo mio" y básicamente lo estoy mirando para poder manejar mejor Access, pues pasan estas cosas

Pero vamos, me da a mi que esta versión no anda muy "fina", porque no me parece normal que un error en VBA me bloquee el programa de esta forma.

Aún tengo que mirar como trastear con una conexión a una base MySql (no por enlace de tablas, sino a pelo desde VBA) esperamos que no la lie de nuevo

PD. Esto me para por novato, cachis. Mil gracias
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

PalitroqueZ

Cita de: Orubatosu en 19 Junio 2017, 18:42 PM
Si, eso lo tengo claro. Lo que pregunto es si puedo "recuperar" el fichero que ahora no me permite ejecutar y corregir el código

Porque el fichero ahora mismo, si lo cargo e intento simplemente editar se cuelga

sin tener mayor información es imposible recuperar la información, tienes que estar guardando respaldos continuamente.

pudiera ser un desbordamiento o un bug en la versión del access que usas.

prueba usando on error goto Debug.Print Err.Description para ver si lo captura y veas el problema que está ocasionando

"La Economía planificada lleva de un modo gradual pero seguro a la economía dirigida, a la economía autoritaria y al totalitarismo" Ludwig Erhard

Orubatosu

Esa impresión me da... que puede que sea un bug cochino de esta versión, porque es muy raro.

Probaré a hacer un archivo donde intentaré colgarlo a propósito a ver que tipo de error me da, en este caso diría que fue porque la conexión no se estableció y el programa "saltó" tras el tratamiento de ese error (que si, ese lo capturé) a la parte donde se ejecutaba la sentencia SQL o el procesamiento del recordset. Si me salta un error... estupendo, ya tendré una idea. Si no, me da a mi que será que esta versión de Access está "tocada", pero es curioso porque solo falla en estos casos.

Parece entrar en un bucle infinito o algo por el estilo, si averiguo algo mas os comento
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998