ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 694|回复: 1

VBA中的SQL查询 条件引用单元格时间

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-7-20 11:51 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Private Sub 查询()    '代码开始语句,name可变更

Set conn = CreateObject("adodb.connection")     '无需变更
Set rs1 = CreateObject("Adodb.Recordset")

conn.Open "Driver=SQL Server;SERVER=采购内勤; Database=配料;uid=;pwd=" 'localhost为数据库ip地址,dbname为数据库名称,name为用户名,password为密码



sqll = "select count(distinct 总秤次) as 配秤次数, " _
       & "count(distinct 原料名) as 原料种类数," _
       & "ltrim(str(sum(配方重量),10,1)) as 预计总消耗," _
       & "ltrim(str(sum(实际重量),10,1)) as 实际总消耗," _
       & "ltrim(str(sum(误差),10,1)) as 总误差," _
       & "ltrim(str(avg(误差),10,2)) as 平均误差 " _
       & "from 配秤结果 " _
       & "where 开始时间>=" & Sheet1.Range("B1") "and 开始时间<" & Sheet1.Range("B1") ";" _
        '查询语句,按实际需求变更
Set rs1 = conn.Execute(sqll)     '无需变更


For Each Field In rs1.Fields
    Sheet1.[a5].Offset(0, i) = Field.Name '字段名
    i = i + 1
Next
‘读取数据库查询的字段名

Sheet1.Range("A6").CopyFromRecordset rs1    '数据库查询结果将在 lie 列 hang 行开始展示

conn.Close '关闭数据库
End Sub     '无需变更

这是一段SQL查询语句,里面由单元格时间作为条件
单元格B1 和 E1的时间格式为 yyyy-mm-dd hh-mm-ss
查询提示错误,有哪位大神帮解答一下

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-7-22 15:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
自己摸索求证:
"where 开始时间>=' " & Sheet1.Range("B1") " 'and 开始时间<' " & Sheet1.Range("B1") " ';"
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 06:36 , Processed in 0.025730 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表