設(shè)置SQL所需的VBA環(huán)境: 第一步:ALT+F11快捷鍵,,打開VBA界面 第二步:選擇“工具”--“引用”,,勾選“MicrosoftActiveX Data Objects 2.8 Library”,并單擊“確定”按鈕,。 利用ADO連接數(shù)據(jù)庫: 語法如下:Connection.Open 連接文本,用戶名,密碼,選項 其中: 連接文本是一個包含有關(guān)連接信息的字符串; 用戶名是一個字符串,,包含建立連接時要使用的用戶名稱,; 密碼是一個字符串,包含建立連接時要使用的密碼,; 選項是一個整型數(shù)值,,確定是在建立連接之后(同步)還是在建立連接之前(異步)返回本方法。-1(默認值)代表同步打開連接,,16代表異步打開連接,。 利用ADO執(zhí)行SQL查詢之后,在EXCEL中輸出結(jié)果: 語法:單元格對象.CopyFromRecordsetAdoconn.Execute(SQL語句) 其中,,單元格對象是結(jié)果輸入的起始點(即結(jié)果數(shù)據(jù)最左上角的單元格),,SQL語句為執(zhí)行查詢的SQL語句。但需要注意的是:利用該輸出方式將結(jié)果寫入工作表中,,其結(jié)果是沒有標題行的 ADO連接不同的數(shù)據(jù)庫(摘選,,具體的請見利用ADO組件進行數(shù)據(jù)庫連接筆記處) 連接EXCEL2007以上的工作簿,參考代碼如下: strConn ='Provider=Microsoft.ACE.OLEDB.12.0;' & _ 'Data Source=' & ThisWorkbook.Path &Application.PathSeparator & _ '數(shù)據(jù)庫.xls;ExtendedProperties=””Excel 12.0;HDR=YES””;' 連接EXCEL2003,參考代碼如下: strConn ='Provider=Microsoft.ACE.OLEDB.4.0;' & _ 'Data Source=' & ThisWorkbook.Path &Application.PathSeparator & _ '數(shù)據(jù)庫.xls;ExtendedProperties=””Excel 8.0;HDR=YES””;' 其中,,HDR=Y(jié)ES表示數(shù)據(jù)中的第一行為列(字段)的名稱,,如果省略該參數(shù)或HDR=No,那么將認為表中全是數(shù)據(jù),無列名,。 對于帶有密碼保護的EXCEL工作簿,,ADO無法打開,,只有當該工作簿已經(jīng)打開時,ADO才可以正常連接,。 |
|