編寫Excel VBA工具,連接並操作Mysql 資料庫。
系統環境:
OS:Win7 64位 英文版
Office 2010 32位 英文版
1、VBA連接MySql前的准備
Tools--->References..---->引用
勾選Microsoft ActiveX Data Objects 2.8 Librarys和Microsoft ActiveX Data Objects Recordset 2.8 Librarys
下載上圖中Windows(x86,32-bit),Zip Archive版本,在測試中,使用64位的版本無法連接到Mysql
把下載上述文件拷貝放到資源管理器里,放到合適位置,解壓,點擊裡面的install.bat批處理文件。
從「控制面板」--->「管理工具」---->ODBC,打開以後,從這個裡面無法看到Mysql的驅動,實際上使用的是下面32位的ODBC驅動
C:WindowsSysWOW64文件夾下的odbcca32.exe
3.連接示例
SubTestConnectTodb()DimconnAsADODB.ConnectionDimrsAsADODB.RecordsetSetconn =NewADODB.ConnectionSetrs =NewADODB.Recordsetconn.ConnectionString ="Driver={MySQL ODBC 5.3 Unicode Driver};Server=localhost;Port=3306;Database=db_hptms;Uid=root;Pwd=123456;OPTION=3;"conn.Openrs.Open"select fdEmpNo,fdEmpName from tbUser", connWithThisWorkbook.Worksheets("MySqlData").Visible =True.Range("a1:b1").Value = Array("EmpNo","EmpName").Range("A2").CopyFromRecordset rs.ActivateEndWithrs.Close:Setrs =Nothingconn.Close:Setconn =NothingMsgBox"處理完畢", vbOKOnly,"提示信息"EndSub
上述示例經過測試,可以正常連接到Mysql資料庫,這里注意使用的ODBC連接的版本是32位,在測試中,使用64位的,始終無法正常打開連接。
② 如何在Excel中使用SQL語言實現數據查詢
1、選中表格後單擊右鍵選擇「定義名稱」。
2、單擊後,出現命名對話框。
3、這里將表1和表2分別命名為Table1和Table2。
4、選擇上方的「數據」選項卡,選擇「自其他來源」下的「來自Microsoft Query 」選項。
5、在彈出的對話框中選擇Excel Files*那一項,並且把對話框下面的「使用「查詢向導」創建/編輯查詢」勾掉。
6、點擊「確定」,便出現「選擇工作簿」的對話框,這里選擇並頃包含表1和表2的工作表xxx.xlsx。
7、點擊確定後之後彈出添加表的對話框。
8、點擊確定後之後彈出添加表的對話框。
9、輸入SQL語句的按鈕,彈出漏友輸入SQL語句的對話框 輸入SQL,看絕搜陸到篩選出來的數據表。
10、將篩選出來的數據表再返回至Excel工作表當中,選擇菜單中的「文件」——「將數據返回Microsoft Excel」。
③ 如果excel中想使用sql語句怎麼使用
excel中使用sql語句,使用快捷鍵alt+d+d+d調出鏈接表的對話框,選擇你要連接的表,然後確定,在編輯查詢命令文本中要寫sql語句,sql在excel中使用的是select語句。其實使用select主要是對數據的查詢和匯總,匯總時輸入聚合函數。總之有許多的知識需要學習,你可以在網上查閱一下sql
select語句的具體知識。