乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > Excel 怎样用VBA将数据导入到<em>SQL</em>数据库

Excel 怎样用VBA将数据导入到<em>SQL</em>数据库

作者:乔山办公网日期:

返回目录:excel表格制作


Sub 把Excel数据插入数据库中()
'*******************************************
'时间:2010-06-28
'作者:bengdeng
'功能:把当前工作表的数据增加到在程序文件同一目e799bee5baa6e997aee7ad94e78988e69d83334录下进销存表数据库中
'注意:要在工具/引用中引用microsoft activex date objects x.x
' 其中x.x为版本号,可能会因为你安装的office的版本不同而不同,本例引用了2.5版
'发布:http://
'*******************************************
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

sub test()
Set cnn = CreateObject("ADODB.Connection")  

Set rs = CreateObject("Adodb.Recordset")strCn= "Provider=sqloledb;Server=R9HDET7;Database=dbname;Uid=username;Pwd=password"
    cnn.Open strCn   
    SQL = ""
     cnn.Open strCn '与数据库建立连接,如果成功,返回连接对象cn
    rs.Open SQL , cn '执行strSQL所含的SQL命令,结果保存在rs记录集对象中    
    cnn.Close
    Set cnn = Nothing

end sub

请参考

连接数据库后,通过写SQL语句实现增删zd改查


使用copysqlserver的导入功能。
sqlserver2008系统,登录ssms,在数据库上右健,任务-->导入,可以打开导入的引导界面。

如果只是一个表的数据,也可以在excel上复制数据,然后在ssms里打开表,粘贴数据。

你在EXCEL中增加一个列名为ID,后在VBA中写以下代码,并引用Microsoft ActiveX Data Objects 2.8后执行

Public Sub 写入SQL2008()
Dim cnn As New ADODB.Connection
Dim SQL As String, mydata As String, mytable As String
Dim i%
mydata = "KKKK" '指定要修改的数据库
mytable = "aaaa" '指定数据表

'建立与e5a48de588b67a64364指定SQL Server数据库的连接
cnn.ConnectionString = "Provider=SQLOLEDB;" _
& "User ID=sa;" _ 'sa改成你SQL账号(通常不用改)
& "Password =123;" _ '123改成你SQL2008密码
& "Data Source=sowin;" _ 'sowin改成你的SQL2008的电脑名,
'如sql2008在网络上,则sowin改成IP地址(如192.168.0.1)
& "Initial Catalog =" & mydata
cnn.Open
'查询全表某些字段的记录
for i = 2 to [a65536].end(xlup).row
SQL = "UPDATE " & mytable & " SET x=" & cells(i,1) & "," & _
"y=" & cells(i,2) & "," & _
"z=" & cells(i,3) & "," & _
"where id=11"
next i
'注意引号里面的空格
'数据库没有更新的数据则用INSERT INTO
'SQL = "INSERT INTO " & mytable & " COLUMNS(x,y,z)" & _
" VALUES('" & CELLS(i,1) & "','" & cells(i,2) & "','" & cells(i,3) &"')"

cnn.Execute(SQL)

cnn.Close
Set cnn = Nothing
End Sub

相关阅读

  • <em>asp.net</em> MVC3 excel导入到sql serve...

  • 乔山办公网excel表格制作
  • 比较来简单,这个要用到微软的分布源式查询,可以参考我之百前写的: 《Excel导入SQL SERVER》 http://hi.baidu.com/44498/blog/item/404e364307380c1a72f05d3d.html 但是你要注度意,先上传到服务知器之后
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网