2009-10-01 5 views
0

J'ai hérité de certaines anciennes applications de base de données Microsoft Access 2000 et j'ai besoin de les désosser pour les supporter et développer un remplacement. Le problème que j'ai est que je n'arrive pas à lancer le débogueur.Comment puis-je déboguer des gestionnaires d'événements dans Microsoft Access 2000?

La plupart du code dans le système est sur des événements tels que FormLoad, ButtonClick, etc, c'est ce dont j'ai besoin être capable de déboguer.

J'ouvre l'éditeur de code avec Alt + F11 et définissez un point d'arrêt dans, disons, le FormLoad pour un formulaire donné. Pour vous assurer que cela va « déclencheur » J'utilise ensuite la fenêtre immédiate pour faire

?OpenForm("formname") 

Mais mon point d'arrêt est ignorée. Je peux mettre un MsgBox là et il se déclenche et je peux utiliser Debug.Print et il imprimera à la fenêtre Immédiate - mais je ne peux pas parcourir le code. J'ai essayé d'insérer le texte suivant dans le code aussi bien pour voir si tout cela déclencherait le débogueur (rien de tout cela fonctionne):

Debug.Assert False 

ou

Stop 

ou

On Error Goto 0 
Dim T as Integer 
T = 1 /0 

Ce dernier s'arrête juste d'exécuter le code à ce stade et ouvre le formulaire - mais pas de joie avec le débogueur.

Je suppose que le développeur d'origine a désactivé le débogueur dans la base de données. Ou peut-être que je le fais juste mal?

Ma question est: Comment puis-je déboguer les événements de formulaire dans Microsoft Access 2000? Y a-t-il quelque chose de magique que je dois faire?

+0

Euh, « ? OpenForm (» formname «) » n'est pas correcte syntaxe d'accès. Est-ce une fonction personnalisée? La norme serait DoCmd.OpenForm "formname", mais DoCmd.OpenForm n'est pas une fonction. Vous obtiendrez probablement de meilleures réponses si vos questions ne contiennent pas de code aérien non-sens. –

+0

Il est utilisé dans la fenêtre immédiate et de ce que je peux rassembler est la syntaxe standard. – Frans

+0

Encore une fois, "OpenForm()" n'est pas une fonction/commande d'accès standard. DoCmd.OpenForm existe, mais ce n'est pas une fonction. Et il ne peut pas être appelé comme "? DoCmd.OpenForm (" FormName ")". –

Répondre

0

juste une pensée, faites-vous cela dans msaccess 2000 ou une version ultérieure de l'application. Je me demande si ce problème se produit uniquement avec les anciens dbs dans les applications plus récentes.

+0

J'utilise msaccess 2000 – Frans

Questions connexes