कोई एक तेज़ तरीका नहीं है, क्योंकि यह कई कारकों पर निर्भर है। सुनिश्चित करें कि SQL में अनुक्रमणिका कॉन्फ़िगर और अनुकूलित हैं। बहुत सारे इंडेक्स इंसर्ट/अपडेट परफॉर्मेंस को मार देंगे क्योंकि प्रत्येक इंसर्ट को इंडेक्स को अपडेट करने की आवश्यकता होगी। सुनिश्चित करें कि आप डेटाबेस से केवल एक कनेक्शन बनाते हैं, और ऑपरेशन के दौरान इसे खोलें/बंद न करें। जब सर्वर न्यूनतम लोड के अंतर्गत हो तो अद्यतन चलाएँ। केवल दूसरी विधि जिसे आपने आजमाया नहीं है, वह है ADO कमांड ऑब्जेक्ट का उपयोग करना, और एक सीधा INSERT कथन जारी करना। रिकॉर्डसेट ऑब्जेक्ट की 'AddNew' पद्धति का उपयोग करते समय, इंसर्ट के अंत में केवल एक 'अपडेटबैच' कमांड जारी करना सुनिश्चित करें। उस से कम, VBA केवल उतनी ही तेजी से चल सकता है जितना कि इनपुट स्वीकार करने वाला SQL सर्वर।
संपादित करें:ऐसा लगता है कि आपने सब कुछ करने की कोशिश की है। SQL सर्वर में 'बल्क-लॉग्ड' रिकवरी मोड के रूप में भी जाना जाता है, जो लेनदेन लॉग के लिए इतना अधिक लिखने के ऊपरी हिस्से को कम करता है। देखने लायक कुछ हो सकता है। यह परेशानी भरा हो सकता है क्योंकि इसके लिए डेटाबेस रिकवरी मॉडल के साथ थोड़ा सा तालमेल बिठाना पड़ता है, लेकिन यह आपके लिए उपयोगी हो सकता है।