ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 至少一个参数没有被指定值

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-8-16 01:41 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
工作簿1.7z (267.69 KB, 下载次数: 1)
报错说  至少一个参数没有被指定值,求解

Sub record3筛选()

    Dim strconn As String
    Dim strsql As String
    Dim today$, endday$

    today = Format(Sheets("data").[m1], "yyyy-mm-dd")
    endday = Format(Sheets("data").[m1].Offset(0, -9).Value, "yyyy-mm-dd")
    Set adoconn = CreateObject("ADODB.Connection") '后期绑定
    strconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
    ThisWorkbook.Path & "\" & ActiveWorkbook.Name & ";Extended Properties=""Excel 12.0;HDR=YES"";"
    strsql = "select * from data where ([" & today & " ]- [" & endday & "])/[" & endday & "] >0.3"
    adoconn.Open strconn
    Sheets("record3").Range("a1").CopyFromRecordset adoconn.Execute(strsql)
    adoconn.Close
End Sub

TA的精华主题

TA的得分主题

发表于 2017-8-16 08:06 | 显示全部楼层
(日期-日期)/日期 的结果表示什么意思?

TA的精华主题

TA的得分主题

发表于 2017-8-16 08:08 | 显示全部楼层
把Strsql语句修改成下面语句能运行了,但由于不满足条件语句,所以什么数据也提取不到。
  1.     strsql = "select * from data where (#" & today1 & " #- #" & endday & "#)/#" & endday & "# > 0.3"
复制代码

TA的精华主题

TA的得分主题

发表于 2017-8-16 08:09 | 显示全部楼层
详见附件。

工作簿1.rar

269.47 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2017-8-16 08:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
楼主的代码为什么出错,是因为:
(字符串-字符串)/字符串

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-8-16 09:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
chxw68 发表于 2017-8-16 08:16
楼主的代码为什么出错,是因为:
(字符串-字符串)/字符串

每一个日期下面是股票的收盘价,我正常用sql的时候  那样写能返回我所需要的股票名称和数据  但是用vba就不行了  感觉很奇怪  字段里面如果有"-"的时候不是应该加"[]"符号么?如果用“#”不是就变成日期了么?

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-8-16 09:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
chxw68 发表于 2017-8-16 08:16
楼主的代码为什么出错,是因为:
(字符串-字符串)/字符串

加井号不就变成日期了么,但是我的日期是字段,所以我当时用的是中括号

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-8-16 09:59 | 显示全部楼层
chxw68 发表于 2017-8-16 08:16
楼主的代码为什么出错,是因为:
(字符串-字符串)/字符串

字段名为日期也需要用井号么

TA的精华主题

TA的得分主题

发表于 2017-8-16 10:02 | 显示全部楼层
修改好了。

工作簿1.rar

514.73 KB, 下载次数: 1

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-8-16 10:36 | 显示全部楼层

请问为什么加CLng就好了呢?如果正常些sql直接加中括号就可以了  为什么vba需要加CLng?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-25 18:44 , Processed in 0.033807 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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