我编写了一个查询功能,但是运行的时候,老是提示表达无效expretion is not valid!是我程序不对吗?
编程如下:dw_1.settransobject(sqlca)
dw_1.setfilter("")
if rb_1.checked then
dw_1.setfilter("设备名称="+"'"+sle_1.text+"'")
elseif rb_2.checked then
dw_1.setfilter("合同编号="+"'"+sle_1.text+"'")
elseif rb_3.checked then
dw_1.setfilter("合同名称="+"'"+sle_1.text+"'")
end if
dw_1.retrieve()
情感各位大侠帮忙!
------解决方案--------------------
你在dw_1.setfilter("")后面要加上
dw_1.Filter()
------解决方案--------------------
SetFilter里边的公式改成这样试试。
dw_1.setfilter("合同名称='"+sle_1.text+"'")
------解决方案--------------------
你在dw_1.setfilter("")后面要加上dw_1.Filter()
加上了还是不行啊
SetFilter里边的公式改成这样试试。
dw_1.setfilter("合同名称='"+sle_1.text+"'")
还是不行,我就想实现查询功能,还可以有其它的方法吗,愁死了呢
不行提示什么? 可以看你的SetFilter函数有没有执行成功。
其他方法
一 通过传检索参数进行retrieve ,把3个条件都传进去,不需要的传%,需要的就传入时间的值。
二 通过GetSqlSelect() 和SetSqlSelect()函数来动态修改where条件
------解决方案--------------------
你在dw_1.setfilter("")后面要加上dw_1.Filter()
加上了还是不行啊
SetFilter里边的公式改成这样试试。
dw_1.setfilter("合同名称='"+sle_1.text+"'")
还是不行,我就想实现查询功能,还可以有其它的方法吗,愁死了呢
不行提示什么? 可以看你的SetFilter函数有没有执行成功。
其他方法
一 通过传检索参数进行retrieve ,把3个条件都传进去,不需要的传%,需要的就传入时间的值。
二 通过GetSqlSelect() 和SetSqlSelect()函数来动态修改where条件
还是相同的提示,表达无效。怎样看函数有没有执行成功啊
你在dw_1.setfilter("")后面要加上dw_1.Filter()
加上了还是不行啊
SetFilter里边的公式改成这样试试。
dw_1.setfilter("合同名称='"+sle_1.text+"'")
还是不行,我就想实现查询功能,还可以有其它的方法吗,愁死了呢
不行提示什么? 可以看你的SetFilter函数有没有执行成功。
其他方法
一 通过传检索参数进行retrieve ,把3个条件都传进去,不需要的传%,需要的就传入时间的值。
二 通过GetSqlSelect() 和SetSqlSelect()函数来动态修改where条件
还是相同的提示,表达无效。怎样看函数有没有执行成功啊
Return value
Returns 1 if it succeeds and -1 if an error occurs. The return value is usually not used.
int li_rtn
li_rtn = dw_1.setfilter("合同名称='"+sle_1.text+"'")
if li_rtn = 1 then
//Setfilter(执行成功)
else
end if
------解决方案--------------------
楼主确认表达式中的字段名没有写错吗?
过滤表达式中写的列明要和datawindow中的列明一致