2012-06-05 21 views
8

यह एक अस्पष्ट सवाल है और समझाने में कठोर है। मैं अपने एक्सेस डेटाबेस को कोड करने की कोशिश कर रहा हूं, लेकिन वीबीए भाग वास्तव में मुझे परेशान कर रहा है। जब भी मैं कुछ टाइप करता हूं और हिट स्पेस करता हूं, तो वह स्वचालित रूप से उस स्थान को फिर से चलाएगा और मुझे पिछले शब्द के खिलाफ बैक अप देगा जो मैं टाइप कर रहा था। इसके अलावा, इंटेलिसेंस एक अलग दूसरे, झिलमिलाहट के लिए आएगा और चलेगा, और मेरे कर्सर को उस पाठ पर वापस लाएगा जिसे मैं अभी टाइप कर रहा था। इसके परिणामस्वरूप मुझे उन जगहों पर लगातार चीजों को टाइप करना पड़ता है जहां वे नहीं होना चाहिए और मेरे कोड के तत्वों के बीच रिक्त स्थान की कमी है। क्या किसी को पता है कि यह क्यों होगा? मैं जिस डेटाबेस का उपयोग कर रहा हूं उसे एक्सेस 2007 में बनाया गया था, लेकिन मैं इसे 2010 में विकसित कर रहा हूं। शीर्ष पर यह माइक्रोसॉफ्ट एक्सेस 2007-2010 कहता है।एमएस एक्सेस छोटी गाड़ी के लिए मेरा वीबीए क्यों है?

आपकी मदद के लिए धन्यवाद।

+1

यह भी देखें: http://stackoverflow.com/questions/1164138/vba-editor-auto-deletes-spaces-at-the-ends-of-lines –

+0

यह भी सहायक है और आंशिक रूप से समस्या को हल कर सकता है, धन्यवाद। – Scotch

उत्तर

13

सबसे संभावित कारण यह है कि आपके पास सक्रिय टाइमर ईवेंट के साथ एक फॉर्म खुलता है।

क्या हो रहा है यह है कि जब आप अपना कोड संपादित कर रहे हैं, तो कुछ नियमित अंतराल पर कोड चल रहा है। प्रत्येक बार जब अन्य कोड चलता है, तो वीबीए के लिए बस-इन-टाइम कंपाइलर चलता है।

आम तौर पर जब आप कोड लिख रहे हैं, यह वास्तविक समय संकलन होता है जब भी आप कोड की एक पंक्ति से दूसरे में स्थानांतरित: संकलन त्रुटियों उठाए गए हैं, सफेद स्थान अनुगामी छंटनी की है, आदि

हालांकि, आपके मामले में आपके पास कोड का कुछ टुकड़ा है जो चल रहा है। इसे चलाने से पहले, कंपाइलर को चलाना चाहिए। और यह वही काम करता है जो सामान्य रूप से करता है। सबसे कष्टप्रद, यह आपकी रेखा से सफेद जगह पीछे पीछे ट्रिम करता है।


समाधान सक्रिय टाइमर घटना के साथ प्रपत्र बंद करें, या 0 करने के लिए टाइमर अंतराल सेट आप संपादन कर रहे हैं, जबकि अपने कोड के लिए है।

+1

आपकी व्याख्या के लिए धन्यवाद। ऐसा लगता है कि इसे अधिकांश भाग के लिए हल किया गया है। पिछले डेवलपर "ग्लोबल्स" का ट्रैक रखने के लिए, मेरी समझ में, सक्रिय टाइमर ईवेंट के साथ एक छिपे हुए फॉर्म का उपयोग करता है। किसी भी दर पर, सभी रूपों को बंद करने से समस्या ठीक हो जाती है। धन्यवाद! – Scotch

+2

+1 मैंने @ स्कॉट को भी ऊपर उठाया है ताकि ओपी वोट दे सके। – Fionnuala

+1

ने आपको सही उत्तर के रूप में स्वीकार किया। कुछ कारणों के बिना किसी भी टाइमर के फॉर्म अभी भी इस मुद्दे का कारण बनते हैं। कोड के दौरान इन रूपों को बंद करना बहुत निराशाजनक है। यह इस प्रतिक्रिया को लिखने में राहत है क्योंकि मुझे अपनी स्पेस बार कुंजी मैश करने और मेरे कर्सर को रीसेट करने की आवश्यकता नहीं है :) – Scotch

संबंधित मुद्दे