|
Excel由于本身的局限性,存儲數(shù)據(jù)量過大的時候,往往會導致工作簿假死無反應,電腦卡頓等情況。那么,將數(shù)據(jù)存取到Access數(shù)據(jù)庫中就是一種好的解決方法。今天,我們談談怎么使用Excel VBA來創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)表的幾種方法。 本次所有方法創(chuàng)建的數(shù)據(jù)表如下圖: 方法一:使用Access.Application(Access對象庫)創(chuàng)建數(shù)據(jù)庫。 在編寫代碼之前,我們需要先引用Access對象庫。操作方法:單擊VBE窗口上的【工具】按鈕,在彈出的快捷菜單中單擊【引用】按鈕, 接下來,在彈出的對話框選擇【Microsoft Access 16.0 Object Library】。單擊確定即引用了Access對象庫。 注意:不同Office版本的Access對象庫名稱略有不同。如下表: Microsoft Access 9.0 Object Library Microsoft 2000 Microsoft Access 10.0 Object LibraryMicrosoft 2002 Microsoft Access 11.0 Object LibraryMicrosoft 2003 Microsoft Access 12.0 Object LibraryMicrosoft 2007 Microsoft Access 14.0 Object LibraryMicrosoft 2010 Microsoft Access 15.0 Object LibraryMicrosoft 2013 Microsoft Access 16.0 Object LibraryMicrosoft 2016 這樣,我們就搭建好了編程環(huán)境,然后輸入下圖代碼即可。 方法二:使用DAO對象(Data Access Object)創(chuàng)建數(shù)據(jù)庫(已被ADOX取代)。 DAO(Data Access Object) 數(shù)據(jù)訪問對象是一個面向對象的數(shù)據(jù)庫接口,它顯露了 Microsoft Jet 數(shù)據(jù)庫引擎(由 Microsoft Access 所使用),并允許 Visual Basic 開發(fā)者通過 ODBC 像直接連接到其他數(shù)據(jù)庫一樣,直接連接到 Access 表。DAO 最適用于單系統(tǒng)應用程序或小范圍本地分布使用。 同樣在編寫代碼之前,我們需要先引用DAO對象庫。操作方法:單擊VBE窗口上的【工具】按鈕,在彈出的快捷菜單中單擊【引用】按鈕,接下來,在彈出的對話框選擇【Microsoft DAO 3.6 Object Library】。單擊確定即引用了DAO對象庫。 注意:若Excel版本低于Excel 2003,則可能是【Microsoft DAO 3.51 Object Library】。 然后輸入如下代碼即可。 DAO創(chuàng)建數(shù)據(jù)庫方法: Workspace.CreateDatabase(Name,Locale,Options) Workspace:表示使用的工作環(huán)境,一般省略。 Name :數(shù)據(jù)庫路徑和名稱 Locale :指定字符串比較的規(guī)則 Options :可選項,指定數(shù)據(jù)格式的版本及數(shù)據(jù)庫是否加密 DAO創(chuàng)建數(shù)據(jù)表方法: database.CreateTableDef(name,attributes,source,connect) database :數(shù)據(jù)庫對象 name :數(shù)據(jù)表名稱 attributes :表的特征 source :外部數(shù)據(jù)表的名稱 connect :數(shù)據(jù)源信息 方法三:使用ADOX對象(Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security)創(chuàng)建數(shù)據(jù)庫。 Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security (ADOX) 是對 ADO 對象和編程模型的擴展。它可用于創(chuàng)建、修改和刪除模式對象。它還包括安全對象,可用于維護用戶和組,以及授予和撤消對象的權限。 要通過開發(fā)工具使用 ADOX,需要建立對 ADOX 類型庫的引用'Microsoft ADO Ext. for DDL and Security'。 同樣在編寫代碼之前,我們需要先引用ADOX對象庫。操作方法:單擊VBE窗口上的【工具】按鈕,在彈出的快捷菜單中單擊【引用】按鈕,接下來,在彈出的對話框選擇【Microsoft ADO Ext 6.0 for DDL and Security】。單擊確定即引用了ADOX對象庫。 注意:若Excel版本低于Excel 2007,則可能是【Microsoft ADO Ext 2.x for DDL and Security】。 然后輸入如下代碼即可。 ADOX創(chuàng)建數(shù)據(jù)庫方法:myCat.Create (ConnectString) myCat :ADOX.Catalog對象 ConnectString:數(shù)據(jù)庫連結字 連結字: Excel2007以下版本 Provider:=Microsoft.Jet.OLEDB.4.0;Data Source= Excel2007以上版本Provider:=Microsoft.ACE.OLEDB.12.0;Data Source= ADOX創(chuàng)建數(shù)據(jù)表方法:myCat.Tables.Append(Item) myCat.Tables:ADOX數(shù)據(jù)表對象 Item :數(shù)據(jù)表對象 方法四:使用ADO對象(Microsoft ActiveX Data Objects)+ADOX對象(Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security)+SQL語句創(chuàng)建數(shù)據(jù)庫。 ADO (ActiveX Data Objects,ActiveX數(shù)據(jù)對象)是Microsoft提出的應用程序接口(API)用以實現(xiàn)訪問關系或非關系數(shù)據(jù)庫中的數(shù)據(jù)。例如,如果您希望編寫應用程序從DB2或Oracle數(shù)據(jù)庫中向網(wǎng)頁提供數(shù)據(jù),可以將ADO程序包括在作為活動服務器頁(ASP)的HTML文件中。當用戶從網(wǎng)站請求網(wǎng)頁時,返回的網(wǎng)頁也包括了數(shù)據(jù)中的相應數(shù)據(jù),這些是由于使用了ADO代碼的結果。 其中ADO+SQL用于創(chuàng)建表和字段,ADOX用于創(chuàng)建數(shù)據(jù)庫。 同樣在編寫代碼之前,我們需要先引用ADO對象庫和ADOX對象庫(引用ADOX對象庫見方法三)。操作方法:單擊VBE窗口上的【工具】按鈕,在彈出的快捷菜單中單擊【引用】按鈕,接下來,在彈出的對話框選擇【Microsoft ActiveX Data Object 6.0 Library】。單擊確定即引用了ADO對象庫。 注意:若Excel版本低于Excel 2007,則可能是【Microsoft Active Data Object 2.x Library】。 然后輸入如下代碼即可。 |
|
|
來自: 李珂consilpa3m > 《待分類》