wincc 按照时间查询数据

在wincc 想通过时间条件来查询,通过 data time picker控件获取系统时间,或者是通过脚本将系统时间赋值给了一个内部变量。然后想通过数据库查询语言将时间变量值与后天数据库数据时间值比较来查询数据,但是怎么也实现不了,我做的有一下2种方法,请各位大神给我看一下:
1、sql="select * from Table_5 where timer between ‘"& StartData &"’ and ‘"& StopData &"’
2、TAG:R方式来查询
时建类型为datatime,不知道如何可以实现这种类型的数据比较,各位大神有没有好的建议,谢谢。

最佳答案

查询语句应该是
sql="select * from Table_5 where timer between ”"& StartData &"” and ”"& StopData &"”ORDER BY timer "
下面是我做的一个类似的时间查询画面
其中查询按钮下面的脚本为
Dim i, n, k, n1, a1, b1, c1,e1, f1,h1,j1
Dim Sql, oCom, conn, sql1, oCom1,oItem
Dim j, b, z
Dim ylp, wdp, llp, ylx, wdx, llx, yld, wdd, lld
Dim zlp, dyp, sdp, zlx, dyx, sdx, zld, dyd, sdd
Dim strcn, cn
Dim a, shi, t, x
Dim oRs, oRs1
Dim  Text2
Dim BeginDate 
Dim EndDate  
Dim By, Bm, Bd
Dim Ny, Nm, Nd, c, e, f
Dim Date1,Date2
Dim t31,y1,m1,d1,s1,y2,m2,d2,s2
Set y1=ScreenItems("控件1")
Set m1=ScreenItems("控件4")
Set d1=ScreenItems("控件6")
Set s1=ScreenItems("控件7")
Set y2=ScreenItems("控件10")
Set m2=ScreenItems("控件11")
Set d2=ScreenItems("控件12")
Set s2=ScreenItems("控件13")


Set dyx = ScreenItems("控件19")
dyx.ListItems.Clear 
By=y1.Text
Bm=m1.Text
Bd=d1.Text
Ny=y2.Text
Nm=m2.Text
Nd=d2.Text

If By > Ny Or By = Ny And Bm > Nm Or By = Ny And Bm = Nm And Bd > Nd Or Bd=Nd And s1.Text>s2.Text  Then
MsgBox "输入的时间不正确", vbOK, "错误的起始时间"
Else

BeginDate = By&"/"&Bm&"/"&Bd&" "&s1.Text&":00:00"
EndDate = Ny&"/"&Nm&"/"&Nd&" "&s2.Text&":59:59"
”CONVERT(char(19),shijian, 20) AS
”建立连接
 Sql = "SELECT * FROM 一楼温度记录  WHERE shijian BETWEEN ”" & BeginDate & "” and ”" & EndDate & "” ORDER BY shijian "
 strcn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist SecurityInfo=False;Initial Catalog=wanda;Data Source=.\wincc"
   Set conn = CreateObject("ADODB.Connection")
    conn.ConnectionString = strcn
    conn.CursorLocation = 3
    conn.Open
”使用命令文本查询
    Set oRs = CreateObject("ADODB.Recordset")    
    Set oCom = CreateObject("ADODB.Command")
    oCom.CommandType = 1
    Set oCom.ActiveConnection = conn
    oCom.CommandText = Sql 
   Set oRs = oCom.Execute
    
   n = oRs.RecordCount

 
  

If n = 0 Then
MsgBox "对不起,没有找到符合条件的数据", vbOK, "没有相关数据"
End If
oRs.Requery


If (n > 0) Then
        oRs.MoveFirst       
        i = 0       
 End If
Do While Not oRs.EOF

 Set oItem = dyx.ListItems.Add()”添加新行
 oItem.Text=CStr(oRs.Fields(0).Value)
 oItem.SubItems(1)=CStr(oRs.Fields(1).Value)
 oItem.SubItems(2)=CStr(oRs.Fields(2).Value)
 oItem.SubItems(3)=Formatnumber((oRs.Fields(3).Value),2)
 oItem.SubItems(4)=Formatnumber((oRs.Fields(4).Value),2)
 oItem.SubItems(5)=Formatnumber((oRs.Fields(5).Value),2)
 oItem.SubItems(6)=CStr(oRs.Fields(6).Value)
 oItem.SubItems(7)=CStr(oRs.Fields(7).Value)

  
oRs.MoveNext   
 Loop
 End If 
   oRs.close”这是后加的,退出程序前,关闭与数据库,记录集的连接
  ”ors1.close”这是后加的
  conn.close”这是后加的

希望对你有所帮助

图片说明:

wincc 按照时间查询数据  wincc 按照时间查询数据  

提问者对于答案的评价:
对于时间查询,我选择data timepicker 将系统时间赋值给内部变量,时间值为字符串,用数据库语句就可以实现了,不需要TAG:R的方式来实现查询。谢谢各位的答复,谢谢。

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

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午12:01
下一篇 2021年7月5日 下午12:01

相关推荐

  • wincc如何修改已归档的数据

    请问高手,wincc如何修改已归档的数据,我找到相关的项目.db文件,可是不知道通过什么方法修改。请高手为我解答,谢谢! 最佳答案 楼主用的是WinCC V5.x么(xx…

    SIMATIC WinCC 2019年6月11日
  • WICC通讯

    有两台监控站,上线正常;但是,我把其中一台主机上的项目拷贝到另一台主机,结果是项目能打开,就是上不了线;请教各位,这是什么原因啊,怎样处理 最佳答案 因为计算机的硬件配置不一定相同…

    SIMATIC WinCC 2019年6月11日
  • plc与触摸屏通讯

    plc是s7-200smart的.触摸屏是smart 1000 IE v3的。第一次用这里两个通讯,也是第一次用西门子触摸屏,研究了一上午,电脑跟触摸…

    2021年7月5日
  • wincc 打印

    我想在画面上做个按钮来实现当前画面的打印,请问高手怎么实现? 最佳答案 在按钮的单击事件里添加打印函数,就可以了! 提问者对于答案的评价:谢谢

    SIMATIC WinCC 2019年6月11日
  • wincc7.2安装问题2

    现场有一台新买的工控机需要安装wincc7.2软件,但在安装过程中出现,见图片,请问我还要安装什么软件才能安装wincc7.2软件,谢谢! 问题补充:我的是XP的系统 图片说明: …

    2017年6月29日
  • vbs启动报错

    启动提示一行德文,编辑画面不能出现 最佳答案 你是装的什么版本,怎么会出现德文呢?是不是脚本有问题. 提问者对于答案的评价:谢谢。我用一键还原后已经恢复

    SIMATIC WinCC 2019年6月11日
  • wincc 6.0 C标准函数及内部函数 VBS标准模块 项目模块详细教程

    谁可以分享一下  wincc 6.0 C标准函数及内部函数  VBS标准模块 项目模块详细教程 谢谢…

    SIMATIC WinCC 2019年6月11日
  • wincc程序

    我这里有段简短的程序,是想实现当点击一个按扭时1_on/off,同时让1_level自加一.这样写对吗?请指点.谢谢 Sub OnLButtonDown(ByV…

    SIMATIC WinCC 2019年6月11日
  • wincc历史数据查询

    WINCC的历史数据记录查询,我想把查询时间范围用数据输入的形式输入,然后再设置个按钮,来查询,应该怎么做? 最佳答案 1.什么也不用做,使用OnLineTrend控件自带工具按钮…

    SIMATIC WinCC 2019年6月11日
  • 用VBS实现画面窗口里边的内容切换

    在一个画面上添加一个画面窗口,两个按钮,点击第一个按钮的时候画面窗口显示“内容1.pdl”,点击第二个按钮的时候,显示“内容2.pdl” 最佳答案 画面添加2个按钮,一个画面窗口。…

    2021年7月5日

发表回复

登录后才能评论