वीबीए में गोटो स्टेटमेंट आपको कोड की एक पंक्ति पर कूदने की अनुमति देता है।
पहले अपने कोड में कहीं भी एक लाइन लेबल बनाएं:
1 | छोड़ें: |
फिर लाइन लेबल पर जाने के लिए "GoTo" स्टेटमेंट में जोड़ें
1 | गोटो छोड़ें |
गोटो उदाहरण
यह उदाहरण वर्ष का परीक्षण करता है। यदि वर्ष 2022 या उसके बाद का है तो यह स्किप लाइन लेबल पर जाएगा। यह आपको कुछ शर्तों को पूरा करने पर कोड को छोड़ने की अनुमति देता है।
123456789101112 | उप GoTo_Example ()पूर्णांक के रूप में मंद वर्षवर्ष = 2019यदि वर्ष>= 2019 तो GoTo छोड़ें'वर्षों के लिए प्रक्रिया डेटा <2022'MsgBox "वर्ष 2022 से पहले का है"छोड़ें:अंत उप |
गोटो मल्टीपल लाइन लेबल
आप कोड की प्रासंगिक पंक्तियों पर जाने के लिए GoTo कथनों का भी उपयोग कर सकते हैं। आइए अपने पिछले उदाहरण को अलग-अलग कोड स्थानों पर जाने के लिए समायोजित करें कि यह किस वर्ष है:
1234567891011121314151617181920212223242526272829303132 | उप GoTo_Statement ()पूर्णांक के रूप में मंद वर्षवर्ष = 2019यदि वर्ष = 2019 तोगो टू ईयर2019अन्यथा यदि वर्ष = 2010 तबगो टू ईयर२०२०अन्यथागो टू ईयर२०२१अगर अंतवर्ष 2019:'प्रक्रिया 2022'MsgBox "वर्ष 2022 है"गोटो एंडप्रोकवर्ष 2020:'प्रक्रिया 2022'MsgBox "वर्ष 2022 है"गोटो एंडप्रोकवर्ष२०२१:'प्रक्रिया 2022+MsgBox "वर्ष 2022+ है"एंडप्रोक:अंत उप |
प्रत्येक पंक्ति लेबल से पहले "GoTo EndProc" पर ध्यान दें। हमने कोड की इस पंक्ति को जोड़ा है ताकि उन कोड अनुभागों को तब तक छोड़ दिया जाए जब तक कि उन्हें प्रासंगिक "GoTo" द्वारा एक्सेस नहीं किया जाता है।
GoTo त्रुटि हैंडलर प्रक्रिया का अंत
अब त्रुटि होने पर प्रक्रिया के अंत में जाने के लिए एरर हैंडलिंग का उपयोग करते हैं।
123456789101112 | उप GoTo_OnError ()डिम आई अस इंटीजरगोटो एंडप्रोक त्रुटि परमैं = 5 / 0संदेशबॉक्स मैंएंडप्रोक:अंत उप |
गोटो रिपीट कोड
हमारा अंतिम उदाहरण कुछ कोड दोहराने के लिए GoTo Statement का उपयोग करेगा।
उपयोगकर्ता द्वारा चेतावनी को स्वीकार करने की पुष्टि करने के लिए नीचे हम हां / नहीं संदेशबॉक्स (अधिक जानने के लिए क्लिक करें) का उपयोग कर रहे हैं। यदि वे 'नहीं' पर क्लिक करते हैं, तो संदेश बॉक्स फिर से प्रदर्शित होगा जब तक कि वे 'हां' पर क्लिक नहीं करते (नीचे GIF देखें)।
1234567891011 | उप GoTo_YesNoMsgBox ()दोहराना संदेश:मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("चेतावनी: यह फ़ाइल केवल-पढ़ने के लिए फ़ाइल के रूप में खोली गई थी, जिसका अर्थ है कि आपके द्वारा किए गए कोई भी परिवर्तन तब तक सहेजे नहीं जाएंगे जब तक आपके पास लिखने-पहुंच के अधिकार न हों।" और _Chr(13) & Chr(13) & "इस फाइल में काम करने से पहले एक कॉपी को सेव करने के लिए फाइल को सेव करें।" & vbNewLine & vbNewLine & "क्या आप समझते हैं?", vbExclaration + vbYesNo, "चेतावनी!")यदि उत्तर = vbNo तो GoTo दोहराना संदेश 'दोहराएँ जब तक उपयोगकर्ता "हाँ" पर क्लिक नहीं करताअंत उप |
वीबीए गोटो एक्सेस वीबीए में एक लाइन लेबल
उपरोक्त सभी उदाहरण एक्सेस वीबीए में ठीक उसी तरह काम करते हैं जैसे एक्सेल वीबीए में।
1234567 | उप टेस्टगोटो ()GoTo समाप्त होने में त्रुटि होने परDoCmd.OpenForm "FrmClients"उप से बाहर निकलेंसमापन:MsgBox "फॉर्म नहीं खोल सकता"अंत उप |