加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 在MS-Access VBA中查询Excel工作表(使用ADODB记录集)

发布时间:2020-12-12 06:34:11 所属栏目:MsSql教程 来源:网络整理
导读:我想在VBA中查询Excel工作表并指定条件. 简单的查询“SELECT * FROM [PCR $]”完美地工作,但我不知道如何添加WHERE子句. 我尝试了cmd2.CommandText =“SELECT * FROM [PCR $] WHERE([B1] IS NOT NULL)”但是它抱怨缺少参数. 这是完整的代码: Dim rs2 As New
我想在VBA中查询Excel工作表并指定条件.

简单的查询“SELECT * FROM [PCR $]”完美地工作,但我不知道如何添加WHERE子句.

我尝试了cmd2.CommandText =“SELECT * FROM [PCR $] WHERE([B1] IS NOT NULL)”但是它抱怨缺少参数.

这是完整的代码:

Dim rs2 As New ADODB.Recordset
Dim cnn2 As New ADODB.Connection
Dim cmd2 As New ADODB.Command
Dim intField As Integer
Dim strFile As String

strFile = fncOpenFile
If strFile = "" Then Exit Sub

With cnn2
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data Source='" & strFile & "'; " & "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
    .Open
End With

Set cmd2.ActiveConnection = cnn2
cmd2.CommandType = adCmdText
cmd2.CommandText = "SELECT * FROM [PCR$]"
rs2.CursorLocation = adUseClient
rs2.CursorType = adOpenDynamic
rs2.LockType = adLockOptimistic

rs2.Open cmd2

解决方法

在您的连接字符串中,您说
Excel 8.0;HDR=Yes

这意味着第一行将被视为标题,无论它包含什么.如果你想使用F1,F2等,请说

Excel 8.0;HDR=No

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读