अपने डेटाबेस में सभी वस्तुओं की गणना करें
दूसरे दिन हमारी कंपनी को बहुत सारे एक्सेस डेटाबेस को कई SQL सर्वर बैकएंड में बदलने का काम सौंपा गया था। शामिल कार्यों के बारे में समझने के लिए, हमें प्रत्येक डेटाबेस में सभी तालिकाओं, प्रश्नों, रूपों और मैक्रोज़ को गिनने का एक तरीका चाहिए।
मैंने एक त्वरित इंटरनेट खोज की, लेकिन कोई भी कोड स्निपेट पसंद नहीं आया, इसलिए मैंने अपना छोटा प्रोग्राम बनाया, जो तत्काल विंडो में आँकड़ों का प्रिंट आउट लेगा:
Public Sub CountObjects()
Dim qdf As DAO.QueryDef
Dim obj As Object
Dim tdf As DAO.TableDef
Dim i As Long
i =0
Debug.Print CurrentDb.TableDefs.Count
CurrentDb.TableDefs में प्रत्येक tdf के लिए
यदि नहीं छोड़ा गया है (tdf.Name, 4) ="MSys" तो
i =i + 1
समाप्त अगर
अगला tdf
डीबग करें। "तालिकाओं की संख्या:" और i
'प्रश्नों की संख्या निर्धारित करें
डीबग करें। "प्रश्नों की संख्या:" प्रिंट करें और CurrentDb.QueryDefs.Count
'फ़ॉर्मों की संख्या निर्धारित करें
डीबग करें। "फ़ॉर्म की संख्या:" प्रिंट करें और CurrentProject.AllForms.Count
'मैक्रोज़ की संख्या निर्धारित करें
डीबग करें। "मैक्रोज़ की संख्या:" प्रिंट करें और CurrentProject.AllMacros.Count
'रिपोर्टों की संख्या निर्धारित करें
डीबग करें। "रिपोर्टों की संख्या:" प्रिंट करें और CurrentProject.AllReports.Count
अंत उप
कुछ अवलोकन:
- सिस्टम टेबल की गिनती नहीं करने के लिए मैं TableDef संग्रह के माध्यम से पुनरावृति करता हूं और किसी भी तालिका नाम को अनदेखा करता हूं जो MSys से शुरू होता है
- मैं प्रपत्र संग्रह का उपयोग प्रपत्रों की गणना के लिए नहीं कर सका क्योंकि इसके सदस्यों में केवल खुले प्रपत्र होते हैं।
आनंद लें!