你在EXCEL中增加一个列名为ID,后在VBA中写以下代码,并引用Microsoft
ActiveX
Data
Objects
28后执行
Public
Sub
写入SQL2008()
Dim
cnn
As
New
ADODBConnection
Dim
SQL
As
String,
mydata
As
String,
mytable
As
String
Dim
i%
mydata
=
"KKKK"
'指定要修改的数据库
mytable
=
"aaaa"
'指定数据表
'建立与指定SQL
Server数据库的连接
cnnConnectionString
=
"Provider=SQLOLEDB;"
_
&
"User
ID=sa;"
_
'sa改成你SQL账号(通常不用改)
&
"Password
=123;"
_
'123改成你SQL2008密码
&
"Data
Source=sowin;"
_
'sowin改成你的SQL2008的电脑名,
'如sql2008在网络上,则sowin改成IP地址(如19216801)
&
"Initial
Catalog
="
&
mydata
cnnOpen
'查询全表某些字段的记录
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)
&"')"
cnnExecute(SQL)
cnnClose
Set
cnn
=
Nothing
End
Sub
第一句本意是获得最后记录行号,但语句中有错误,1 改为 l ,xlup 。 myrow mycoulum你找找代码里面对应的数据就好了 4 ActiveSheetrange(A2)
能帮忙改下吗我改的还不管用
Public Sub 写入SQL2000()
Dim cnn As New ADODBConnection
Dim SQL As String, mydata As String, mytable As String
Dim i%
mydata =
'CNOpen "Provider=SQLOLEDB;Data Source=SQLEXPRESS;Initial Catalog=CPECC_Temp;Uid=SA;PWD=1234;Persist Security Info=false" '//SQLServer 本地链接
'Data Source=SQLEXPRESS '//计算机登陆名/服务器名称,链接本地服务器,就是本机的
'Initial Catalog=CPECC_Temp '//数据库名称
'Uid=SA 用户名
'PWD=1234 '/密码
先读取每个文件的路径然後执行SQL汇入Excel命令即可实现快速导入!也有其它方法但是都没有利用SQL汇入数据功能那么强大。汇放入方法参考>
用VBA将EXCEL内容一次性导入SQL
'工具->引用->Microsoft ActiveX Date Object 20
Public Sub SaveData()
Dim Cnn As ADODBConnection
Dim SQL As String
Set Cnn = New ADODBConnection
'建立于数据库的链接
'这里根据你的实际值修改ConnectionString = "Driver=SQL Server;Server=<a href=">
以上就是关于如何使用vba 将excel指定行的数据导入到sql2008中全部的内容,包括:如何使用vba 将excel指定行的数据导入到sql2008中、excel 想简化导入数据库的宏的vba语句,求解释。、如何使用vba 将excel指定行的数据导入到sql2000中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)