*声明变量,用来保存查询条件
Public FindString
*查询条件默认值为逻辑真(.T.)
FindString =".T."
*如果开票日期非空
IF .NOT. EMPTY(ALLTRIM(THISFORM.text1.Value))
FindString=FindString + " and '"+ALLTRIM(CTOD(THISFORM.text1.Value))+ "' $ 开票日期"
ENDIF
*如果客户名称非空
IF .NOT. EMPTY(ALLTRIM(THISFORM.text2.Value))
FindString=FindString + " and '"+ALLTRIM(THISFORM.text2.Value) + "' $ 客户名称"
ENDIF
*如果商品名称非空
IF .NOT. EMPTY(ALLTRIM(THISFORM.text3.Value))
FindString=FindString + " and '"+ALLTRIM(THISFORM.text3.Value) + "' $ 商品名称"
ENDIF
SELECT 视图1
*设置过滤条件
SET FILTER TO
SET FILTER TO &FindString
THISFORM.Refresh
按客户名称和商品名称查询都可以,但是按日期查询时,我已经用CTOD转换成了日期格式,怎么还会提示函数参数的值、类型或数目无效。
------解决方案--------------------------------------------------------
FindString=FindString + " and '"+ALLTRIM(CTOD(THISFORM.text1.Value))+ "' $ 开票日期"
这一句明显错了:
1.$这个符号是判断字符串的,你用来判断日期
2.Alltrim这个函数也是截字符串的,你用CTOD后,就成了日期了
日期怎么会有包函关系?是不是逻辑有问题?