当前位置: 首页 > 面试题库 >

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

全飞扬
2023-03-14
问题内容

我想在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


 类似资料:
  • 通过企业设置-操作记录,可进行此页面。可以通过操作时间、操作类型、操作人、操作内容等查询操作记录 主要的操作类型包括以下几类: 员工 部门 项目 角色 企业 用车制度 用车备注 邀约券 ……

  • 问题内容: 新版本的Pandas使用以下界面加载Excel文件: 但是,如果我不知道可用的图纸怎么办? 例如,我正在使用以下工作表的excel文件 数据1,数据2 …,数据N,foo,bar 但我不知道先验。 有什么方法可以从Pandas的Excel文档中获取工作表列表吗? 问题答案: 您仍然可以使用ExcelFile类(和属性): 有关更多选项, 请参阅文档以进行解析…

  • 问题内容: 我有3张纸,数据格式化为表格。工作表名称为“ Riesgos”,“ Eventos”和“ EventosRiesgos”。 EventosRiesgo具有与事件和风险相关的信息(许多关系)。 我正在尝试从Riesgos中获取所有风险,还从(。)中获取与风险相关的事件。我正在使用ADODB将工作表作为数据库表进行查询,并使用以下SQL: 但是我得到一个错误,它是西班牙语的,但是粗略的翻译

  • 问题内容: 我想使用jdbc或其他方法连接到Excel工作表,但我不想使用管理工具为同一目录指定DSN。他们有某种方式使用代码吗?如果是,怎么办? 提前致谢 问题答案: 也可以不使用DSN而连接到电子表格,这在代码内提供了一种更灵活的方式来将JDBC指向感兴趣的Excel文件,而无需访问客户端注册表来定义所需的DSN。如果没有DSN,则将按以下方式创建数据库连接,请不要与构造的JDBC URL有所

  • 新版本的Pandas使用以下界面加载Excel文件: 但是如果我不知道可用的床单呢? 例如,我正在使用excel文件,这些文件包含以下表格 数据1,数据2。。。,数据N,foo,bar 但是我不知道什么是先验的。 有没有办法从Pandas中的excel文档中获取工作表列表?

  • 问题内容: 我可以在mysql数据库上打开审核日志记录吗? 我基本上想监视所有查询一个小时,并将日志转储到文件中。 问题答案: 使用–log选项启动mysql: 或在文件中放置以下内容: 任何一种都将所有查询记录到log_file_name。 您也可以使用选项代替来仅记录慢速查询。默认情况下,花费10秒或更长时间的查询被认为是缓慢的,您可以通过设置查询在记录之前必须执行的秒数来更改它。