option explicit
dim cn as new adodb.connection
dim rs as new adodb.recordset
dim str as string
dim strSQL as string
str="provider=SQLSERVER.1;SERVER=LOCAL;UID=SA;PWD="";DATABASE=PUBS"
if cn.state=adstateopen then cn.close
cn.Cursorlocation=adUseClient
cn.open str
strSQL="select * from JOBS"
with rs
if .state=adstateopen then .close
end if
.LockType = adLockOptimistic
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.ActiveConnection = CN
.Open strSQl
WITH MSFlexGrid1
.Rows=2
.CellAlignment=4
.TextMatrix(1,0)="日期"
.TextMatrix(1,1)="姓名"
.TextMatrix(1,2)="项目"
Do While NOt rs.Eof
.Rows=.Rows+1
.CellAlignment=4
.TextMatrix(.Rows-1,0)=rs.Fields(0)
.TextMatrix(.Rows-1,1)=rs.Fields(1)
.TextMatrix(.Rows-1,2)=rs.Fields(2)
rs.movenext
loop
end with
rs.close
set rs =nothing
dim cn as new adodb.connection
dim rs as new adodb.recordset
dim str as string
dim strSQL as string
str="provider=SQLSERVER.1;SERVER=LOCAL;UID=SA;PWD="";DATABASE=PUBS"
if cn.state=adstateopen then cn.close
cn.Cursorlocation=adUseClient
cn.open str
strSQL="select * from JOBS"
with rs
if .state=adstateopen then .close
end if
.LockType = adLockOptimistic
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.ActiveConnection = CN
.Open strSQl
WITH MSFlexGrid1
.Rows=2
.CellAlignment=4
.TextMatrix(1,0)="日期"
.TextMatrix(1,1)="姓名"
.TextMatrix(1,2)="项目"
Do While NOt rs.Eof
.Rows=.Rows+1
.CellAlignment=4
.TextMatrix(.Rows-1,0)=rs.Fields(0)
.TextMatrix(.Rows-1,1)=rs.Fields(1)
.TextMatrix(.Rows-1,2)=rs.Fields(2)
rs.movenext
loop
end with
rs.close
set rs =nothing
本文介绍了一种使用VBA中的ADODB组件连接并从SQL Server数据库中检索数据的方法。通过具体的代码示例展示了如何建立数据库连接、执行SQL查询以及如何将查询结果展示在一个名为MSFlexGrid1的网格控件中。

被折叠的 条评论
为什么被折叠?



