WinCC页面上 有三个文本框输入区域,输入/输出域1填写--工件编号,输入/输出域2填写--姓名1,输入/输出域3填写--姓名3 (以上3个变量 数据类型 均为 文本变量8位字符集)
用以上三个条件的任意组合从SQL数据库中筛选数据,当上边的三个输入域全部为空时,点击查询按钮显示全部数据,当其中一个或2个条件为空时,为空的条件不参与查询,这样的SQL语句改怎样写?
我写了几句,编译时说语法错误...................?
Sql = "Select * FROM GJ_Infor WHERE 1=1
If !String.Is Null Or Empty(GJ_Num.Value) Then REM:工件编号条件
Sql += " and GJ_Num = " + GJ_Num.Value
If !String.Is Null Or Empty(SX_CZ.Value) Then REM:姓名1条件
Sql += " and CZY = " + SX_CZ.Value
If !String.Is Null Or Empty(SX_JY.Value) Then REM:姓名2条件
Sql += " and JYY = " + SX_JY.Value
已经搞了2天了,请大家分析分析原因
-------sql=sql+。。。。。。。。
你的是c+的语法
-------谢谢!执行语句我已经发现问题改过来了Sql =Sql+ " and GJ_Num = " + "&GJ_Num.Value&"
但是前边的 If 条件语句 还是有问题,在VBS下边应该怎么写呢?
麻烦您指点一下?
----If !String.Is Null Or Empty(GJ_Num.Value) Then REM:工件编号条件
Sql =Sql + " and GJ_Num = " + GJ_Num.Value
end if
If !String.Is Null Or Empty(SX_CZ.Value) Then REM:姓名1条件
Sql =Sql + " and CZY = " + SX_CZ.Value
end if
If !String.Is Null Or Empty(SX_JY.Value) Then REM:姓名2条件
Sql =Sql + " and JYY = " + SX_JY.Value
end if
---------If !String.Is Null Or Empty(GJ_Num.Value) Then 这句编译时 提示 语法错误?
我这个条件的意思是想写 如果输入域中GJ_Num没有输入任何东西,为空或空格 它就不参与数据查询?
编译的时候,编译不过去!
mytag=hmiruntime.tags("GJ_Num").read
if mytag<>"" then
GJ_Num变量值不为空时需要执行的脚本
end if
-----------------也可以用Len()函数来判别。
If Len(hmiruntime.tags("GJ_Num").read) > 0 Then
欢迎光临 工控编程吧 (https://www.gkbc8.com/) | Powered by Discuz! X3.4 |