एक्सेस 2010: कौन सा फॉर्म नियंत्रण मैक्रो को फायर करता है?

मैं एक विरासत डेटाबेस पर काम कर रहा हूँ। विशेष रूप से, एक रिपोर्ट बदल रहा है। मैंने उन प्रश्नों/तालिकाओं की पहचान की है जिन पर रिपोर्ट आधारित है। टेबलों में से एक में एक मैक्रो द्वारा उत्पन्न एक टेम्परी टेबल होने के सभी लक्षण हैं जिनमें से कई दर्जन हैं।

मैं परिशिष्ट क्वेरी की पहचान करने में सक्षम हूं जो तालिका और मैक्रो उत्पन्न करता है जो क्वेरी चलाता है। अब मैं यह जानना चाहता हूं कि कौन सा फॉर्म इवेंट उस मैक्रो को आग लगा देता है। क्या यह हर बार रिपोर्ट उत्पन्न होता है या सप्ताह में या एक बार तिमाही में या ... "बटन" के पीछे मैक्रो में कुछ भी नहीं है जो रिपोर्ट प्रिंट करता है और रिपोर्ट में कोई ईवेंट नहीं निकाल दिया जाता है।

मैं हर रूप में हर नियंत्रण पर फिर से शुरू कर सकता हूं, लेकिन मैं किस संपत्ति की तलाश कर रहा हूं? किसी भी पॉइंटर्स/कुंजी शब्द मार्गदर्शन की सराहना की जाएगी, धन्यवाद।

0
जोड़ा संपादित
विचारों: 1
मैक्रोज़ टैब पर पूर्व। बहुत कम vba है, केवल कुछ फॉर्म मॉड्यूल में उपयोग किया जाता है। ऐसा लगता है कि पिछले रखरखाव में से एक के लिए उनके लिए एक प्रवृत्ति थी।
जोड़ा लेखक wfsp, स्रोत
जब आप मैक्रो कहते हैं, तो क्या आपका मतलब है कि मैक्रोज़ टैब पर कई मैक्रोज़ सहेजे गए हैं, या क्या आपका मतलब वीबीए कोड मॉड्यूल में सहेजा गया है?
जोड़ा लेखक Fionnuala, स्रोत
मुझे लगता है कि आप कमांड बटन के क्लिक इवेंट में मैक्रो नाम देखने में सक्षम होना चाहिए।
जोड़ा लेखक Fionnuala, स्रोत

1 उत्तर

कुछ नोट्स, जब आपके पास मैक्रो का नाम होता है तो प्रासंगिक बटन ढूंढना आसान होगा:

Sub FindMacros()
For Each f In CurrentProject.AllForms
    DoCmd.OpenForm f.Name, acDesign

    Set frm = Forms(f.Name)
    For Each ctl In frm.Controls
        If ctl.ControlType = acCommandButton Then
            Debug.Print ctl.OnClick
        End If
    Next

    DoCmd.Close acForm, f.Name, acSaveNo
Next
End Sub
0
जोड़ा
पर बहुत धन्यवाद, बहुत धन्यवाद। अब मैं जानता हूं कि किस फॉर्म पर कौन सा बटन है, ठीक उसी के बाद मैं क्या कर रहा था। फिर, बहुत धन्यवाद।
जोड़ा लेखक wfsp, स्रोत
@MattDonnan नियंत्रण निर्माण के लिए भी उपयोगी है। आप विभिन्न कार्यक्रमों को अपने मानक कार्यों में सेट कर सकते हैं, उदाहरण के लिए = AFunction ([Form]) किसी इवेंट लाइन पर वर्तमान फॉर्म ऑब्जेक्ट को एफ़ंक्शन में पास कर देगा।
जोड़ा लेखक Fionnuala, स्रोत
+1 अच्छी छोटी प्रक्रिया ^ _ ^
जोड़ा लेखक Matt Donnan, स्रोत