注册 登录
编程论坛 Excel/VBA论坛

EXCEL VBA怎么读写SQLSERVER 数据库

childH 发布于 2019-01-28 22:08, 6273 次点击
怎样读取数据库:以EXCEL表中的一列数据作为查询条件,到SQL数据库中取数并填充到EXCEL里;
SQL Server中学生信息表名:Table_1
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
13 回复
#2
xyxcc1772019-01-29 09:31
dim cn,rs as object
dim strCon as string
dim sql as string
set cn=createobject("adodb.connection")
set rs=createobject("adodb.recordset")
strCon="provider=sqloledb;data source=127.0.0.1;uid=sa;pwd=123456;database=myData"
cn.open strCon
sql="selsect * from Table_1"
rs.open sql,cn,1,3
sheet1.range("a2").copyfromRecordset rs
rs.close
cn.close
#3
childH2019-01-29 23:43
回复 2楼 xyxcc177
Private Sub CommandButton1_Click()
Dim cn, rs As Object
Dim strCon As String
Dim sql As String
Set cn = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
strCon = "provider=sqloledb;data source=127.0.0.1;User id=sa;database=myData"
cn.Open strCon
sql = "selsect * from Table_1"
rs.Open sql, cn, 1, 3
sheet1.Range("a2").CopyFromRecordset rs
rs.Close
cn.Close
End Sub
还是有问题,能帮我改下吗?谢谢!
只有本站会员才能查看附件,请 登录
#4
xyxcc1772019-01-30 12:56
把myData换成你的数据库名
#5
childH2019-02-12 22:17
回复 4楼 xyxcc177
改了,提示有语法错误,能帮我看下是哪里问题么?
只有本站会员才能查看附件,请 登录
#6
xyxcc1772019-02-13 10:34
回复 5楼 childH
传附件来看
#7
childH2019-02-13 21:48
回复 6楼 xyxcc177
帮忙看看问题在哪,谢谢!
只有本站会员才能查看附件,请 登录
#8
xyxcc1772019-02-14 10:20
发上的文件中没有数据库日志文件,没有导入进来,你的连接语句中缺少:password一项,因此数据连接失败。其它的应该没有问题。
#9
childH2019-02-14 19:08
回复 8楼 xyxcc177
我把日志文件放进去了,帮我看看,代码要怎样修改。
只有本站会员才能查看附件,请 登录
#10
xyxcc1772019-02-15 15:23
回复 9楼 childH
只有本站会员才能查看附件,请 登录
//sql语句写错了:SELECT 写成了selsect

[此贴子已经被作者于2019-2-15 16:17编辑过]

#11
childH2019-02-15 19:19
回复 10楼 xyxcc177
可以用了,我想把他改下,就是只根据指定ID来调用后面的信息,比如,ID那列是“W3”,我点查询,只出现W3后面的信息,其他的不要调用出来。应该怎么改,谢谢!
#12
xyxcc1772019-02-16 11:31
回复 11楼 childH
sql = "select * from Table_1 where id='w3' "
#13
childH2019-02-16 22:36
回复 12楼 xyxcc177
我的意思根据A列这行里面的ID,引出后面的数据,不一定是W3,可能是W4,后者W5,你写代码的时候并不知道ID的值,而是后期我填入A列的值来引出数据。。
#14
daininghai2019-03-27 18:28
大佬就是大佬
1