分享

SQL向数据库中批量插入数据 | VBA实例教程

 gblhp 2015-02-16

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www./cat4/408.html,VBA交流群273624828。

之前讲过利用SQL语句向Access数据库中插入一条数据,这节来讲下怎样向数据库中批量插入数据。

现在我的Excel表中的有一个学生信息表,有99条数据,现在我要将这99条数据一次性插入Access数据库中的学生信息表中,先看代码

Sub 插入数据表格()
Dim cnn As Object, rs As Object, SQL$, mypath
Set cnn = CreateObject("adodb.connection")
mypath = ThisWorkbook.Path & "\学校管理.accdb"
On Error Resume Next
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & mypath
SQL = "select * from [Excel 12.0;Database=" & ThisWorkbook.FullName & "].[" & ActiveSheet.Name & "$" & [a1].CurrentRegion.Address(0, 0) _
& "]"
SQL = "insert into 学生信息 " & SQL
cnn.Execute SQL
cnn.Close
Set cnn = Nothing
End Sub

其他地方没有什么,主要是在SQL语句的书写上。为了便于理解我这将SQL语句分成了两部分,先看第一部分"select * from [Excel 12.0;Database=" & ThisWorkbook.FullName & "].[" & ActiveSheet.Name & "$" & [a1].CurrentRegion.Address(0, 0)  & "]",这句代码和我们之前以Excel为例讲解select语句的时候非常像,其实这句就是将当前的Excel当成数据库,将其中的数据全部提取出来,这句翻译出来就是“select * from [Excel 12.0;Database=C:\Users\Administrator\Desktop\ACCESS数据库\数据.xlsm].[Sheet1$A1:J100]”,然后第二句"insert into 学生信息 " & SQL就是将第一部分SQL筛选出来的数据整个插入到学生信息表中。

本节示例文件下载地址:http://pan.baidu.com/s/1pJFipi7

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多