用VBA把EXCEL表导入ACCESS数据库中

更新时间:2023-07-20 20:40:21 阅读: 评论:0

⽤VBA把EXCEL表导⼊ACCESS数据库中  ⾸先在指定的access数据库的建⽴⼀张表,表格的字段和需要导⼊EXCEL表的字段保持⼀致。
⽅法⼀:在eccel VBA编辑器编写代码,使⽤FOR循环导⼊:
最后的战役
借荆州Sub 利⽤Excel的VBA将数据写⼊Access()
'定义ADODB 连接Access数据库
windows优化大师Dim Cnn As New ADODB.Connection
Dim Rs As New ADODB.Recordt
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.Clo
Cnn.Clo
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
⽅法三:在excel编辑器中使⽤SQL语句,将EXCEL表导⼊到指定的数据库中
Sub 把Excel数据插⼊数据库中()
'*******************************************小孩晚上睡觉磨牙是什么原因
'时间:2013-01-08
'作者:Allen
'功能:把当前⼯作表的数据增加到在程序⽂件同⼀⽬录下进销存表数据库中
'注意:要在⼯具/引⽤中引⽤microsoft activex date objects x.x
'      其中x.x为版本号,可能会因为你安装的office的版本不同⽽不同,本例引⽤了2.5版
'*******************************************
Dim conn As ADODB.Connection
Dim WN As String
Dim TableName As String
Dim sSql As String
Dim tStr As String
'数据库名,请⾃⾏修改,路径与当前⼯作簿在同⼀⽬录
WN = "Staff.mdb"
'数据库的表名与当前⼯作表名⼀致
安全教育日
TableName = ActiveSheet.Name
Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;" & _
"Extended Properties=Excel 8.0;" & _
"Data Source= E:\ExcelTest\Employee.xls ;;Extended Properties='Excel 8.0;HDR=YES;IMEX=1' " conn.Open
If conn.State = adStateOpen Then
sSql = "Inrt Into [;DataBa=" & ActiveWorkbook.Path & "\" & WN & "]." & myWbName & " Select * From [" & ActiveSheet.Name & "$]"
Cnn.Execute sSql
MsgBox "成功把数据插⼊到“" & TableName & "”中!", , ""
conn.Clo
End If
Set conn = Nothing
End Sub

本文发布于:2023-07-20 20:40:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1107614.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇: 帮助文档
标签:数据库   数据   编辑器
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图