आप पहले से ही कुछ व्यापार तर्क के साथ asp.net है के रूप में आप एक वेब सेवा (ASMX फ़ाइलें) के रूप में उपयोग करने के लिए इस खोल सके। Google के माइक्रोसॉफ्ट ऑफिस वेब सर्विसेज टूलकिट के लिए आपके उपयोग के संस्करण (एक्सपी/2003 इत्यादि) के लिए Google और वेब सेवा को कॉल करने के लिए यह आपके लिए vba प्रॉक्सी कक्षाएं लिखेंगे। आप वेब सेवा डेटा को कोड के माध्यम से फॉर्म (vba को पढ़ने और लिखने के लिए लिखने) के माध्यम से बाध्य कर सकते हैं या वेब सेवा से डेटा के साथ स्थानीय टेम्पलेट टेबल बना सकते हैं और नियमित पहुंच बाध्यकारी का उपयोग कर सकते हैं।
जो आप सबसे अधिक आरामदायक (कोड/tsql) के आधार पर करते हैं, आप संग्रहीत प्रक्रियाओं में या व्यावसायिक लॉजिक लेयर या हाइब्रिड (दोनों) में तर्क डाल सकते हैं। मुझे संग्रहीत प्रक्रियाओं की तुलना में कोड का परीक्षण करना आसान लगता है और जैसे कि व्यवसाय तर्क के लिए एसक्यूएल सर्वर से बंधे नहीं हैं, यदि आप डेटाबेस को बदलना चाहते हैं या डेटाबेस के बिना ऑफ़लाइन घटकों को विकसित/परीक्षण करना चाहते हैं। LINQ जैसे नई .NET सुविधाओं में बहुत अच्छा प्रदर्शन है, इसलिए आपको डेटाबेस गतिविधियों के लिए संग्रहीत प्रक्रियाओं पर भरोसा नहीं करना है।
एक्सेस फ्रंट एंड यूजर इंटरफेस को तब तक रखें जब तक कि आपने वेब सेवाओं पर अपने सभी व्यावसायिक तर्क/डेटा तक पहुंच को दोबारा नहीं किया है। फिर आप एक एएसपीनेट ऐप बना सकते हैं जो वेब सेवाओं या Winform ऐप का उपभोग करता है यदि आप चाहें। (WPF का स्पष्ट रहो, एक ui के रूप में, कुछ समय के रूप में यह एक खड़ी सीखने की अवस्था है और अभी तक एक datagrid कि पहुँच डेटापत्रक दृश्य में तुलना कर सकते हैं नहीं है के लिए।)
रिपोर्ट
एक्सेस रिपोर्ट को एसक्यूएल सर्वर रिपोर्टिंग सेवाओं में अपसाइज़ किया जा सकता है (रिपोर्ट में वीबीए अपसाइज़ नहीं होता है और संग्रहित प्रक्रियाओं में कुछ tsql लिखना बेहतर होता है)। यदि आपके पास पूर्ण एसक्यूएल सर्वर उत्पाद नहीं है, तो आप अभी भी रिपोर्ट लिखने के लिए रिपोर्टव्यूयर नियंत्रण का उपयोग कर सकते हैं (http://www.gotreportviewer.com/) asp.net (या मानक संस्करण या विजुअल स्टूडियो के साथ Winform) में ado.net डेटासेट के लिए बाध्यकारी।
अन्य विकल्प: आप .NET dlls लिख सकते हैं और कॉम इंटरऑप का उपयोग कर सकते हैं। यह दृष्टिकोण आपको धीरे-धीरे कार्यक्षमता लिखना शुरू करने की अनुमति देता है। .NET UI का उपयोग न करें उदा। एक Winform के रूप में यह उपयोग ui के साथ अच्छी तरह से खेल नहीं होगा। आप व्यवसाय तर्क या डेटा एक्सेस तर्क लिख सकते हैं और फिर इन वर्गों को vba से कॉल कर सकते हैं। यदि आवश्यक हो तो आप इस कोड को एएसपीनेट या वेब सेवाओं पर ले जा सकते हैं।
चीजें बाहर शासन करने के लिए:
मैं पक्ष संस्करणों से कंधा मिलाकर साथ एक नई एप्लिकेशन लिखने के दृष्टिकोण पसंद नहीं है। एक डेवलपर के रूप में आपके पास चिंता करने के लिए पर्याप्त है। आप शायद दोनों संस्करणों में सुविधाओं को जोड़ने और एक के बजाय दो संस्करणों को डिबग करने का अंत करेंगे।
वीबी 6 फॉर्म इंटरऑप एक्सेस के लिए काम नहीं करता है।
एडीपी जैसा कि बताया गया है वह काफी मृत है। (मैंने उन्हें कभी पसंद नहीं किया क्योंकि मैं अक्सर प्रदर्शन को अनुकूलित करने के लिए स्थानीय टेबल का उपयोग करता हूं और उन्हें केवल कोड के माध्यम से बुलाया जा सकता है और लिंक नहीं किया जा सकता है)
आप विजुअल बेसिक का उपयोग करके vb.net पर अपने vba मॉड्यूल और क्लास मॉड्यूल को परिवर्तित करने में सक्षम हो सकते हैं अपग्रेड विज़ार्ड (विजुअल स्टूडियो में) लेकिन यह सबकुछ अपवाद नहीं करता है (उदाहरण के लिए दाओ/एडीओ कोड ado.net कोड में) और यह कोड नहीं बनाता है जो .NET के लिए अनुकूलित है और यूनिट परीक्षणों को लिखना आसान नहीं हो सकता है वीबीए कोड का डिजाइन। मैं कोड को फिर से लिखने की अनुशंसा करता हूं (यदि आप इसे पसंद करते हैं तो यह देखने के लिए परीक्षण करने के बारे में गंभीर हैं तो परीक्षण संचालित विकास का प्रयास करें)।
वाईई, मैं विशेष रूप से टेस्ट-संचालित विकास का उपयोग करता हूं (धीरे-धीरे हमारी स्पेगेटी वेबसाइट को नियंत्रण में लाता है)। मुझे रिपोर्ट रूपांतरण के बारे में सुनकर खुशी हुई है और मुझे कम से कम जटिल नियंत्रण को कम नियंत्रण में प्राप्त करने के लिए कॉम इंटरऑप विचार पसंद है। – Gilligan