वीबीए के साथ एक्सेल में एक्सेस टेबल आयात करें (छवियां और कोड)
यह क्या है?यह वीबीए कोड आपको डाउनलोड या आयात करने में मदद करता है पहुँच एक क्लिक में टेबल डेटा या एक्सेल से क्वेरी।क्यों यह है?आप एक्सेस डीबी को खोले बिना भी एक्सेल में एक्सेस टेबल डेटा आयात कर सकते हैं।एक्सेल में एक्सेस टेबल डेटा कैसे आयात करें
स्टेप 1: एक्सेल वर्कबुक खोलें और VBA कोड बिल्डर (Alt + F11) पर जाएं और एक नया मॉड्यूल खोलें।चरण दो: इसमें नीचे दिए गए कोड को कॉपी करके पेस्ट करें।
उप आयात एक्सेसडेटा () डिम सीएनएन एडीओडीबी के रूप में। कनेक्शन डिम आरएस एडीओडीबी के रूप में। रिकॉर्डसेट डिम एसक्यूआरवाई स्ट्रिंग के रूप में डिम स्ट्रफाइलपाथ स्ट्रिंग स्ट्रफाइलपाथ के रूप में = "सी:\डेटाबेसफोल्डर\myDB.accdb" 'डेटाबेसफोल्डर' और 'myDB.accdb' को अपने से बदलें डीबी पथ और डीबी नाम सेट सीएनएन = नया एडीओडीबी.कनेक्शन सेट आरएस = नया एडीओडीबी.रिकॉर्डसेट सीएनएन.ओपन "प्रदाता = माइक्रोसॉफ्ट.एसीई.ओएलईडीबी.12.0;" & _ "डेटा स्रोत =" और strFilePath और ";" sQRY = "SELECT * FROM tblData" 'tblData' को अपने एक्सेस DB टेबल नाम या क्वेरी नाम से बदलें, जिससे आप डेटा डाउनलोड करना चाहते हैं rs.CursorLocation = adUseClient rs.Open sQRY, cnn, adOpenStatic, adLockReadOnly एप्लीकेशन.स्क्रीनअपडेटिंग = गलत शीट1.रेंज("ए1").कॉपीफ्रॉमरिकॉर्डसेट आरएस आरएस। बंद करें सेट आरएस = कुछ भी नहीं सीएनएन। बंद करें सेट सीएनएन = कुछ भी नहीं निकास सब एंड सब
चरण 3: रन बटन या F5 पर क्लिक करें (इसके अलावा आप एक्सेल शीट में एक बटन/आकार डाल सकते हैं, फिर राइट क्लिक करें और इस मैक्रो को हर बार चलाने के लिए असाइन करें।)
एक्सेस डीबी रिकॉर्ड एक्सेल में सफलतापूर्वक अपलोड कर दिए गए हैं, अपनी एक्सेल वर्कबुक खोलें और डेटा की जांच करें।
टिप्पणी: सुनिश्चित करें कि 'Microsoft ActiveX डेटा ऑब्जेक्ट लाइब्रेरी' सक्षम है औजार – संदर्भ (संख्या नवीनतम संस्करण का उपयोग करती है [इस पोस्ट के अनुसार 6.1])।
Pin
मुझे यकीन है कि आप बहुत सारे एक्सेल डेटा, एमएस एक्सेस और वीबीए पर काम करते हैं, इसलिए मैं दृढ़ता से आपको एक्सेस डेटाबेस के साथ नीचे दिए गए अल्टीमेट एक्सेल वीबीए यूजरफॉर्म से जुड़ने की सलाह देते हैं! यह अपने आप में एक सार्थक निवेश है! अभी करो!
अपना खुद का रियल वर्ल्ड प्रोग्राम बनाएं, रियल एक्सेल वीबीए (मैक्रोज़) सीखें, संपूर्ण प्रोजेक्ट के साथ एक्सेल की सीमाओं को पार करें
8 Responses
सर, मैं vb6.0 में कमांड बटन का उपयोग करके एक्सेल में एक्सेस डेटाबेस रिकॉर्ड निर्यात करना चाहता हूं, कृपया मुझे पूरा vb6.0 कोड भेजें
मेरे एक्सेल पर शीट1 है लेकिन मुझे निम्न चरण पर मैक्रो पर रन-टाइम त्रुटि 424 मिलती है, ऐसा क्यों है?
शीट1.रेंज(“A1”).CopyFromRecordset rs
नमस्ते, मैं यह जांचना चाहता हूं कि क्या मैं अपने एक्सेस डीबी को साझा ड्राइव में रखता हूं और इस एक्सेल मैक्रो को अपने संगठन में वितरित करता हूं, क्या यह काम करेगा? मैं चाहता हूं कि मेरा एक्सेल मैक्रो इस एक्सेस डीबी से कुछ मान पढ़े और फिर एक्सेल खोलते समय कुछ वेरिएबल अपडेट करें।
इसके अलावा यदि एक्सेस काम नहीं करता है, तो क्या मैं संगठन के एक ड्राइव में रखे गए किसी अन्य एक्सेल का उपयोग कर सकता हूं और डीबी के बजाय इसे एक्सेस कर सकता हूं। मैंने अपने वनड्राइव एक्सेल को पढ़ने के लिए अपने मैक्रो में वर्कबुक ओपन विधि का उपयोग करने की कोशिश की, जिसे मेरी कंपनी में सभी के साथ साझा किया जाता है, लेकिन यह काम नहीं किया।
पंक्ति 5, 8, 9 में त्रुटि संकलित करें...
आख़िरकार मैंने किया।
मैं 2 वेरिएबल्स का उपयोग कर रहा हूं (टेक्स्टबॉक्स1 मान 'मुद्रा, प्रारूप R$0.000,00' और टेक्स्टबॉक्स2 'दिनांक' के रूप में, प्रारूप मिमी/डीडी/yyyy)
कोड ↓
'=========================================== ===|
'========================================= कौए वाज़==|
'=========================================== ===|
विकल्प स्पष्ट
' टूल्स, रेफरेंस पर क्लिक करें और चुनें
'माइक्रोसॉफ्ट एक्टिवएक्स डेटा ऑब्जेक्ट्स 2.0 लाइब्रेरी
उप getDataFromAccess(strValue, strDate)
स्ट्रिंग के रूप में मंद DBFullName
स्ट्रिंग के रूप में डिम कनेक्ट, स्ट्रिंग के रूप में स्रोत
ADODB.कनेक्शन के रूप में मंद कनेक्शन
ADODB.Recordset के रूप में मंद रिकॉर्डसेट
पूर्णांक के रूप में डिम कोल
स्ट्रिंग के रूप में mySQLVवेरिएबल को मंद करें
स्ट्रिंग के रूप में mySQLVariable_1 मंद करें
स्ट्रिंग के रूप में मंद strSQL
mySQLVariable = strValue 'टेक्स्टबॉक्स1 से मान (मुद्रा प्रारूप R$0.000,00)
mySQLVariable_1 = strDate 'टेक्स्टबॉक्स2 से मान (दिनांक प्रारूप mm/dd/yyyy)
'एसक्यूएल कोड
strSQL = "चयन करें * tblDatabase से जहां"
strSQL = strSQL & ”[मान] = '' & (mySQLVariable) & “' और ”
strSQL = strSQL और ” [दिनांक] = '' और (mySQLVariable_1) और “'”
'डेटाबेस, अपने डेटाबेस एक्सेस का चयन करें
DBFullName = "C:\Users\Desktop\Databases\BD_PaynotProcess\bd_PaynotProcess.accdb"
' कनेक्शन खोलें
कनेक्शन सेट करें = नया ADODB.कनेक्शन
कनेक्ट = "प्रदाता=Microsoft.ACE.OLEDB.12.0;"
कनेक्ट = कनेक्ट और “डेटा स्रोत =” और DBFullName और “;”
कनेक्शन.कनेक्शनस्ट्रिंग खोलें:=कनेक्ट करें
'रिकॉर्डसेट बनाएं
रिकॉर्डसेट सेट करें = नया ADODB.रिकॉर्डसेट
रिकार्डसेट के साथ
' SQL कोड वेरिएबल strSQL का उपयोग करके मान खोजें
स्रोत = strSQL
.ओपन सोर्स:=स्रोत, एक्टिवकनेक्शन:=कनेक्शन
'डेटाबेस से कॉलम आयात करना।
कॉलम = 0 से रिकॉर्ड्ससेट.फ़ील्ड्स.गिनती के लिए – 1
रेंज(“ए5”).ऑफसेट(0, कर्नल).मान = रिकॉर्ड्ससेट.फील्ड्स(कॉल).नाम
अगला
'डेटाबेस से लाइनें आयात करना।
रेंज(“A5”).ऑफसेट(1, 0).CopyFromRecordset रिकॉर्ड्ससेट
के साथ समाप्त करना
रिकॉर्डसेट सेट करें = कुछ भी नहीं
कनेक्शन.बंद करें
कनेक्शन सेट करें =
ActiveSheet.Columns.AutoFit
अंत उप
सम्मान
क्या मैं केवल कुछ डेटा आयात कर सकता हूँ? 2 चर द्वारा फ़िल्टर करना?
उदाहरण:
एक्स = 13/03
वाई = '122315124'
एक्सेस बीडी से केवल वे पंक्तियाँ लाएँ जिनमें ये वेरिएबल्स हैं?
मेरे लिए काम किया. आपका बहुत-बहुत धन्यवाद!
यह सबसे अच्छी क्वेरी है जो मैंने कभी देखी है। क्या आप कृपया एसक्यूएल स्टेटमेंट में व्हेयर क्लॉज जोड़ने में मदद कर सकते हैं। मैंने आपकी क्वेरी को संशोधित करने का प्रयास किया लेकिन यह त्रुटि उत्पन्न करता है।