按照日期查询自定义的问题数据库数据写入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日

相关推荐

  • 西门子工厂自动化远程集中监控

    我想实现集团公司集中远程监控旗下分布在全国的生产企业的自动化监控,不知需要怎么配置。其架构图如下所示! 问题补充:架构图如下 图片说明:    钻石用户推荐最佳…

    2021年7月5日
  • WINCC V7.4资料

    本人第一次接触WINCC,哪位有资料的帮忙发点,谢谢 最佳答案 WinCC V7.4:使用 WinCChttps://support.industry.siem…

    2021年7月5日
  • WINCC中逻辑表达式怎么输入

    wincc7.0中我要定的表达式是或的关系,我不知道这个或(II)从哪里能加上,特来请教一下还有一个问题就是WINCC运行状态时能发出一个M点吗,如果能发的话在哪里能设置,谢谢期待…

    SIMATIC WinCC 2017年6月10日
  • wincc的modbus通讯

    大家好,小弟现在毫无头绪,想通过wincc连接两个标准Modbus的变频器(可读、写),s7200连接3个协议是“aa”(可读)的仪表,不知道这个方案能行吗。wincc可以搞一个M…

    SIMATIC WinCC 2019年6月11日
  • 博途wincc专业版设置二次确认窗口

    二次确认窗口使用msgbox函数编写脚本还是画面窗口的反应速度更快,减少卡顿?具体解释一下各自的优点。 图片说明:        …

    2021年7月5日
  • WINCC7.0报表打印

    大家好,想实现一个这样的报表打印:比如:这个批次某种产品存在某个质量问题,需要记录这个产品的序号,发生时间和次数。当这个批次完成,只要按一个按键便 可打印出来,最好可以存…

    SIMATIC WinCC 2017年6月5日
  • [求助]想更改在SD卡已归档的历史数据档名

    我想更改SD卡上面已经归档的数据记录,发现以归档完成的档名会有日期时间因为使用web服务器所以必须要使用归档才能下载到计算机想问问如何用脚本完成(TIA V15) 最佳答…

    SIMATIC WinCC 2020年11月1日
  • 在WINCC画面组态中,如何显示系统时间?

    在WINCC画面组态中,用户需要显示系统时间,如何组态? 最佳答案 WinCC 通道“ System Info ”  从…

    SIMATIC WinCC 2019年6月11日
  • V14数组地址问题

    在V14中,建立一个数组a[1..100] int形式,那么数组a[1]到a[100]共100个整数,那么每个整数都有8个位(16还是8我忘了),但我需要里面的每个位的值…

    SIMATIC WinCC 2017年6月3日
  • Microsoft Access访问Wincc归档数据

    我想用Microsoft Access访问Wincc归档数据,大概知道要用C和VBS,但是这方面能力有限,看大概能看懂写不出来,所以那为高手能做一个简单项目,只要访问一个…

    2017年11月18日