按照日期查询自定义的问题数据库数据写入excel

上一个问题的内容:
查询产生数据集
Dim rsIS
Set rsIS = CreateObject("ADODB.Recordset")
rsIS.Open "SELECT * FROM 表名",conn
条件:自定义数据库:zmx-sql,表:zmxzz-a(存放1号的数据)和zmxzz-b(存放2号的数据),字段名“sj”,数据类型:datetime,数据共计20列
目的:查找1号到2号的数据并存放在使用ole建立的excel表中,记录大概在30000条。
程序:日期使用windows的日历控件10.0提供开始日期和结束日期

Dim rsIS
Set rsIS = CreateObject("ADODB.Recordset")
is_sql="select*from zmxzz-a 'sj'>=00:00:01 and ''sj'<=23:59:59" and zmxzz-b 'sj'>=00:00:01 and ''sj'<=23:59:59"
rsIS.Open (is_sql),conn


结果:查询程序不执行
请问:哪里有例子或采用什么解决办法?
windows的日历控件怎么才可以执行?


按照你给的程序,我运行后可以。


现在有问题:
1、如果我想按照字段名“sj”的时间范围查询该怎么办?
2、时间给定使用windows的日历控件分别给定开始日期和结束日期进行查询?

图片说明:

按照日期查询自定义的问题数据库数据写入excel    按照日期查询自定义的问题数据库数据写入excel   

最佳答案

首先要说的是,ADO的工作原理就相当于在vbs中构造好一个数据库查询语句,通过连接,发给SQL Server,执行查询是SQL Server的工作。
既然这样,那你在调试vbs过程中遇到了问题,你首先想到,把你的查询语句(sql语句)直接写在SQL Server中,用来定位是你vbs这边错了,还是你的sql写得有问题。
所以建议你先在SQL Server中实现查询,然后把你试验过的查询语句,复制在vbs里,但是要注意,你得写好了,构造的语句在vbs里看,是一个字符串。

然后针对你的问题,你要查询一个时间段,那它的查询语句结构无非是
 select*from 表名 where sj>起始时间 and sj >中止时间,关键点显而易见,就是你的起始时间和中止时间哪里来的。(你的语句中第一个错误就是,where哪去了?)

说完了

下面是我的思路
dim startTime
dim stopTime

''''构造起始时间startTime
dim calendarName
calendarName = ScreenItems("你所建立的日历控件名")
 ''''这种写法只针对于你的日历控件和这段程序的按钮在同一画面的请况

dim startDate
startDate = calendarName.value ''''当前控件所选的日期,赋给startDate

dim startSJ
startSJ = 这里不清楚你的时间是怎么来的,不论常量变量写这就行了

startTime = str(startDate)&str(startSJ)

''''构造结束时间stopTime
思路同上,就是用calendar控件获得年月日,用你喜欢的方式获得时分秒,然后组合成时间(符合数据库中datetime变量类型的时间格式)即可。

is_sql="select*from zmxzz-a where sj>"&str(startTime)&"AND sj<"&str(stopTime)

还有就是,关于获取时间值的方法和采用的控件,可以参看以下
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=42245&cid=1032

另:我也是初学者,大家一起讨论,我觉得挺好。就是不要让管理员以为咱们是在作弊故意你问我答就行,哈哈哈。

提问者对于答案的评价:
你好:研究了好几天,还是不太明白。
如果我要是只查询到天,而时、分、秒不要的话,是不是就要修改sql的数据类型datetime,可是我无论怎么试验都是不行。
如果,可以的话,你再写一写按照天查询的办法,就是按照我提供的图片2,我选择日期后,旁边用ole建立的excel文件自动打开,将相应日期的数据取出来。
谢谢!实在是看不懂。拜托了。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc264112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午2:45
下一篇 2019年6月11日 上午2:45

相关推荐

  • wincc flexible runtime的仿真问题,敬请解答

    以前的触摸屏程序 用wincc flexible runtime 仿真时,显示“不能装载组态程序 –.fwx 应用程序…

    SIMATIC WinCC 2017年8月15日
  • wincc怎么读取access中的数据

    我access表格建立完了以后该怎么和wincc建立连接,有具体一点的步骤吗,有图片步骤最好 最佳答案 在本例中,通过ODBC驱动程序将标记值从WinCC写入Access数据库。该…

    SIMATIC WinCC 2020年11月1日
  • wincc 激活记录运行系统

    wincc 激活记录运行系统时,“正在初始化归档管理”的时候进度到50%就会卡死不动了,是什么原因,怎么解决?谢谢! 最佳答案 转帖同类问题:wincc 报警记…

    SIMATIC WinCC 2019年6月11日
  • 用变量记录和报警控件做的泵启停时间记录,报警控件问题

    我用变量记录和报警控件做的泵启停时间记录,现在的情况是在泵变量触发启动或停止的时候,报警控件会记录泵的 状态,这个没有问题,但是把控件关闭过一段时间以后,在打开控件的那个…

    2017年6月7日
  • a

    请问如何将wincc里面的报警记录导入到excel表中,详细些,本人初学者,谢谢 最佳答案 在下载中心搜索文档编号:A04423个办法:1、从 WinCC V6…

    SIMATIC WinCC 2017年11月29日
  • wincc内部变量赋值问题,

    在不用脚本情况下,有两个外部变量,当其中一个变量为真时,即使该变量后然变为假了,也让内部变量变为1,同理当另一个变量为真时,让内部变量为0,,这个怎么做, 最佳答案 也可以用动态对…

    2017年10月24日
  • wincc文件夹AX NF ZZ空白!!

    列位大侠,因WINCC授权多装,现想移除不用的,可是打开文件夹AX NF ZZ却是空白的!!何故??!!谢谢! 最佳答案 检查你的授权文件夹AX NF…

    SIMATIC WinCC 2019年6月11日
  • 如何快速创建WINCC过程变量?

    只能一个一个创建WINCC的过程变量吗? 有没有更快的方法。如用EXCEL。 最佳答案 1,把wincc项目集成到STEP7中,就可以在step7中设定和wincc有关的…

    SIMATIC WinCC 2019年6月11日
  • WinCC中图形旋转问题

    在WinCC中用线、圆、矩形等组合成一个图形,想让此图形以一个固定点为圆心进行旋转。本人最初想法比较简单,就是做多个不同角度的图形,然后分时间进行显示或隐藏;可是已做好的原始图形不…

    SIMATIC WinCC 2017年11月12日
  • wincc flexible报错:190012 Tag GB_Man_DateTime:conversion error

    大家好,我用的OP177B touch 的触摸屏,用wincc flexible 做的项目,有时候显示屏会提示报警:190012 …

    2017年8月26日