1、將access中數據導入excel
Public Sub ImportData() Dim mydata As String, mytable As String, SQL As String Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset ActiveSheet.Cells.Clear mydata = ThisWorkbook.Path & "\成績管理.mdb" '指定數據庫 mytable = "考試成績" '指定數據表 '建立與數據庫的連接 Set cnn = New ADODB.Connection With cnn .Provider = "microsoft.jet.oledb.4.0" .Open mydata End With SQL = "select 班級,avg(數學) as 數學平均,avg(語文) as 語文平均," _ & "avg(物理) as 物理平均,avg(化學) as 化學平均,avg(英語) as 英語平均, " _ & "avg(體育) as 體育平均,avg(總分) as 總分平均 " _ & "from " & mytable & " group by 班級" Set rs = New ADODB.Recordset rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic '復制字段名 For i = 1 To rs.Fields.Count Cells(1, i) = rs.Fields(i - 1).Name Next i '復制全部數據 Range("A2").CopyFromRecordset rs rs.Close cnn.Close Set rs = Nothing Set cnn = Nothing End Sub
2、將excel數據導入access
Sub 把Excel數據插入數據庫中() '******************************************* '時間:2010-06-28 '作者:bengdeng '功能:把當前工作表的數據增加到在程序文件同一目錄下進銷存表數據庫中 '注意:要在工具/引用中引用microsoft activex date objects x.x ' 其中x.x為版本號,可能會因為你安裝的office的版本不同而不同,本例引用了2.5版 '發布:http://www.excelba.com '******************************************* Dim conn As ADODB.Connection Dim WN As String Dim TableName As String Dim sSql As String Dim tStr As String '數據庫名,請自行修改,路徑與當前工作簿在同一目錄 WN = "進銷存表.mdb" '數據庫的表名與當前工作表名一致 TableName = ActiveSheet.Name Set conn = New ADODB.Connection conn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;" & _ "Extended Properties=Excel 8.0;" & _ "Data Source=" & ThisWorkbook.Path & "\" & ActiveWorkbook.Name conn.Open If conn.State = adStateOpen Then sSql = "Insert Into [;DataBase=" & ActiveWorkbook.Path & "\" & WN & "]." & TableName & " Select * From [" & ActiveSheet.Name & "$]" conn.Execute sSql MsgBox "成功把數據插入到“" & TableName & "”中!", , "http://excelba.com" conn.Close End If Set conn = Nothing End Sub