❶ 在excel中如何使用vba實現將sql的數據快速寫入excel
DimconnAsNewADODB.Connection
connStr="Driver={SQLServer};DataBase=test;Server=(local);UID=sa;PWD=123"
conn.OpenconnStr'連接資料庫
DimrsAsNewRecordset
sql="select*froma"'查看錶a
rs.Opensql,conn,3,3
ifNotrs.EOFthen
ForiCols=0Tors.fields.Count-1
Sheets(1).Cells(1,iCols+1).Value=rs.fields(iCols).Name
NextiCols
Sheets(1).Cells(2,1).CopyFromRecordsetrs
endif
❷ 誰能給我一個EXCEL VBA往SQL資料庫讀取和寫入記錄的例子
讀取和寫入操作方式一樣,唯一不同的是sql語句,讀取用select,讀取用insert,以讀取為例子,錄入如下代碼:
'sql完整例子
Sub testSql()'定義連接對象
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
'定義連接字元串
Dim conStr As String
Dim sqlstr As String
'連接字元串-以下是連接MSSQL資料庫
conStr = "Provider=sqloledb; " _
& "Server=192.168.1.121; " _
& "Database=DATABASENAME;Uid=admin;Pwd=admin;"
cnn.Open conStr
sqlstr = "SELECT * from tablename"
rs.Open sqlstr, cnn
Range("a2").CopyFromRecordset rs
rs.Close
cnn.Close
End Sub
❸ VBA execl將數據導入資料庫
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
❹ EXCELvba寫入ACCESS資料庫表
第一步:連接資料庫,下面是參考代碼
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = "Provider=Microsoft.Ace.OleDB.12.0;Data Source=" & mypath
conn.ConnectionString = conn.ConnectionString & ";Jet OLEDB:Database Password=1"
conn.Open
第二步:插入數據,參考代碼如下:
Sql = "insert into skmxb (內部管理號,收款日期,金額"
Sql = Sql & ") values ('" & nbglH & "', #" & Format(myD, "yyyy/mm/dd") & "#,"
Sql = Sql & jE
Sql = Sql & ")"
conn.Execute Sql
❺ 請教怎麼在access中用VBA導入excel數據到access庫
方法一:在eccel VBA編輯器編寫代碼,使用FOR循環導入:
Sub 利用Excel的VBA將數據寫入Access()
'定義ADODB 連接Access資料庫
Dim Cnn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim strCon As String
Dim strFileName As String '資料庫文件名
strFileName = InputBox("請輸入文件路徑及文件名:", "Excel傳遞數據至Access", "E:\ExcelTest\Staff.mdb")
'連接字元串,我這里是Access2010,所提供者參數為:Provider=Microsoft.ACE.OLEDB.12.0;
'如果此參數不能使用,根據自己的電腦修改這個字元串
'至於連接至的資料庫名,根據自己的電腦修改,或用一個對話框或其他方式將此值傳遞進程序
strCon = "provider=Microsoft.jet.OLEDB.4.0;" _
& "Data Source=" & strFileName & ";"
Cnn.Open strCon
Rs.ActiveConnection = Cnn
Rs.LockType = adLockOptimistic
Rs.Open "Employee" '假設表為Employee
'定義Excel表中的數據區域以寫入Access
Dim Sht As Worksheet
Dim Rn As Long
Dim Cn As Long
Set Sht = ThisWorkbook.Sheets("Sheet1")
'假設將 Sheet1 表的 2-6行的1、2、3列寫入Access表
For Rn = 2 To 6
Rs.AddNew
Rs!num = Sht.Cells(Rn, 1) 』num,name,department是資料庫中指定表的欄位
Rs!Name = Sht.Cells(Rn, 2)
Rs!department = Sht.Cells(Rn, 3)
Rs.Update
Next Rn
MsgBox "完成!"
Rs.Close
Cnn.Close
Set Rs = Nothing
Set Cnn = Nothing
Set Sht = Nothing
End Sub
方法二:在access VBA編輯器中編寫代碼
Sub ExcelToAccess()
DoCmd.TransferSpreadsheet acImport, , "Staff", "E:\ExcelTest\Employee.xls", True, "Sheet1!" 『DoCmd.TransferSpreadsheet是access編輯器中函數
End Sub
❻ 怎麼在VBA中把excel中的數據 寫入資料庫
excel是一個自由表,一個EXCEL的工作薄就是一個資料庫,它裡面的每一張表就是資料庫的表,你可象操作表一樣對其進行查詢等操作,它裡面的列就是資料庫的欄位,行就是記錄,因此你可以按資料庫的架構來組建數據,只是你如果你組建的數據不符合資料庫的規則,在查詢時不能得到時相應的結果。因此在EXCEL中不存在創建資料庫。但對存在的數據可以引用。當滿足條件A、B、C、D……時引用是可以的,但如果是在EXCEL中直接引用是不行的,一種是用VBA利用ADO訪問EXCEL,在查詢時把A、B、C、D幾個條件按SQL語法寫進查詢語句中,引用返回的記錄集,一種是利用函數把滿足A、B、C、D的記錄篩選出來,然後再引用。