इस ट्यूटोरियल में VBA एक्सेस के साथ SQL का उपयोग करने के उदाहरण हैं। जैसा कि आप नीचे देखेंगे, वीबीए के साथ एक्सेस में एसक्यूएल प्रश्नों को चलाने के लिए आप या तो उपयोग कर सकते हैं डीओसीएमडी.रनएसक्यूएल या वर्तमान डीबी.निष्पादित करें तरीके।
एसक्यूएल चुनें
यह उदाहरण रिकॉर्डसेट खोलने के लिए SQL चयन कथन का उपयोग करेगा:
रिकॉर्डसेट सेट के रूप में मंद आरएस = CurrentDb.OpenRecordset ("तालिका 1 से चुनें * जहां num = 0", dbOpenDynaset)
SQL अद्यतन तालिका
VBA कोड की यह पंक्ति तालिका को अद्यतन करने के लिए DoCmd.RunSQL पद्धति का उपयोग करती है:
DoCmd.RunSQL ("अद्यतन तालिका 1 सेट संख्या = 0 जहां संख्या = 999")
या आप डेटाबेस ऑब्जेक्ट की .Execute विधि का उपयोग कर सकते हैं:
CurrentDb.Execute "अद्यतन तालिका 1 सेट संख्या = 0 जहां संख्या = 999"
एसक्यूएल परिवर्तन तालिका
VBA कोड की यह पंक्ति तालिका को बदलने के लिए DoCmd.RunSQL का उपयोग करती है:
DoCmd.RunSQL ("तालिका तालिका 3 जोड़ें कॉलम वेतन धन")
या डेटाबेस ऑब्जेक्ट की .Execute विधि के साथ:
CurrentDb.Execute "वैकल्पिक तालिका तालिका 3 कॉलम वेतन राशि जोड़ें"
ड्रॉप तालिका
VBA कोड की यह पंक्ति तालिका को बदलने के लिए DoCmd.RunSQL का उपयोग करती है:
DoCmd.RunSQL ("DROP टेबल टेबल1")
या डेटाबेस ऑब्जेक्ट की .Execute विधि के साथ:
CurrentDb.Execute "DROP टेबल टेबल 1"
एसक्यूएल हटाएं
यह कोड तालिका से रिकॉर्ड हटाने के लिए DoCmd.RunSQL का उपयोग करता है:
DoCmd.RunSQL ("तालिका 1 से हटाएं जहां संख्या = 999")
या डेटाबेस ऑब्जेक्ट की .Execute विधि के साथ:
CurrentDb.Execute "तालिका 1 से हटाएं जहां संख्या = 999"
एसक्यूएल सम्मिलित करें
DoCmd.RunSQL का यह उदाहरण तालिका में रिकॉर्ड सम्मिलित करता है:
DoCmd.RunSQL ("तालिका 1 में डालें (अंतिम नाम, dob, संख्या) मान ('L1',#01/01/2001#,78)")
या डेटाबेस ऑब्जेक्ट की .Execute विधि के साथ:
CurrentDb.Execute "तालिका 1 में सम्मिलित करें (अंतिम नाम, dob, संख्या) मान ('L1',#01/01/2001#,78)"
एसक्यूएल टेबल बनाएं
यह कोड SQL का उपयोग करके एक तालिका बनाएगा:
CurrentDb.Execute "तालिका तालिका 1 बनाएं (कीआईडी काउंटर बाधा प्राथमिक कुंजी प्राथमिक कुंजी, फ़ील्ड 1 टेक्स्ट, फ़ील्ड 2 टेक्स्ट)"
या डेटाबेस ऑब्जेक्ट की .Execute विधि के साथ:
CurrentDb.Execute "तालिका तालिका 1 बनाएं (कीआईडी काउंटर बाधा प्राथमिक कुंजी प्राथमिक कुंजी, फ़ील्ड 1 टेक्स्ट, फ़ील्ड 2 टेक्स्ट)"
इंडेक्स बनाएं
VBA कोड की यह पंक्ति तालिका को बदलने के लिए DoCmd.RunSQL का उपयोग करती है:
DoCmd.RunSQL ("इंडेक्स बनाएं" और इंडेक्सनाम और "चालू" और टेबलनाम और "(" और कॉलमनाम और ");")
या डेटाबेस ऑब्जेक्ट की .Execute विधि के साथ:
CurrentDb.Execute "क्रिएट इंडेक्स" और इंडेक्सनाम और "ऑन" और टेबलनेम और "(" और कॉलमनाम और ");"
ड्रॉप इंडेक्स
VBA कोड की यह पंक्ति तालिका को बदलने के लिए DoCmd.RunSQL का उपयोग करती है:
DoCmd.RunSQL "तालिका 1 पर ड्रॉप इंडेक्स आईडी;"
या डेटाबेस ऑब्जेक्ट की .Execute विधि के साथ:
CurrentDb.Execute "तालिका 1 पर ड्रॉप इंडेक्स आईडी;"
डेटाबेस बनाएं
यह कोड एक डेटाबेस (कोई SQL नहीं) बनाएगा:
Access.DBEngine.CreateDatabase "c:\Temp\testDB1.accdb", DB_LANG_GENERAL
एसक्यूएल प्रश्न
ओपन क्वेरी
सहेजी गई क्वेरी को खोलने के लिए आप DoCmd.OpenQuery का उपयोग कर सकते हैं:
DoCmd.OpenQuery "qry_1", acViewNormal, acEdit
क्वेरी को निष्पादित करें
CurrentDB.Execute एक क्वेरी निष्पादित करेगा:
CurrentDb.Execute "qry_1", dbFailOnError
एक्सेल में निर्यात क्वेरी
DoCmd.OutputTo एक्सेल को एक क्वेरी निर्यात करेगा:
DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLS, "c:\temp\ExportedQuery.xls"