请问怎样用vba实现:内嵌SQL并从数据库查询到数据并放入指定的单元格内?请高手赐教或给个例子~ 小妹谢过
发布网友
发布时间:2022-05-05 09:40
我来回答
共4个回答
热心网友
时间:2023-10-03 16:09
你大概弄错了,数据库不存在什么最后空行,你指的多半是插入操作,如果是的话,执行sql语句(假定你的第三列字段名为name)
str="insert into wdgj21(name) values('" & Ar & "')"
(怎么执行不用偶说吧)当然如果你用addnew之类来替代上面这个也是可以的。
取出数据跟这个是差不多的,假定你的数据库中的name2列中包括这个ar的内容,你想取出那一行的name的值,
str="select top 1 name from wdgj21 where name2 like '%" & Ar & "%'"
用ADODB.Recordset打开就可以取到结果了。
热心网友
时间:2023-10-03 16:09
Private Sub CommandButton1_Click()
Dim cn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
Dim rs As New ADODB.Recordset '定义记录集对象,保存数据表
Dim strCn As String, strSQL As String '字符串变量
Dim i As Integer, j As Integer, sht As Worksheet
strCn = "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=sa;Initial Catalog=hrlink ;Data Source=IP地址"
strSQL = "select * from mytab"
cn.Open strCn
rs.Open strSQL, cn
xrow = 1
Do While (Not rs.EOF)
Sheet1.Cells(xrow, 1) = rs.Fields().Item(0)
Sheet1.Cells(xrow, 2) = rs.Fields().Item(1)
.....
xrow = xrow + 1
rs.MoveNext
Loop
End Sub追问我试了这种写法,但是总说Dim cn As New ADODB.Connection 这句未定义之类的,估计是后面注释说的添加ADO引用没有做,但是不太明白这个怎么弄。现在已经用另一种写法连上了,但是还是继续请教这个ADO引用怎样添加,是不是可以解决我遇到的问题?再追加10分,多谢!
追答在vba代码画面,工具--添加
热心网友
时间:2023-10-03 16:10
你大概弄错了,数据库不存在什么最后空行,你指的多半是插入操作,如果是的话,执行sql语句(假定你的第三列字段名为name)
str="insert
into
wdgj21(name)
values('"
&
Ar
&
"')"
(怎么执行不用偶说吧)当然如果你用addnew之类来替代上面这个也是可以的。
热心网友
时间:2023-10-03 16:10
最好是引用 Microsoft ActiveX Data Object 2.6
点"工程"-"引用"-找到"Microsoft ActiveX Data Object 2.6
"
再用 Dim Conn As New ADODB.Connection
http://zhidao.baidu.com/question/53835208.html?fr=qrl&cid=1073&index=1&fr2=query