当前位置: 代码迷 >> VFP >> vfp,日期查询的有关问题,请大侠们指教一下,拜谢了!
  详细解决方案

vfp,日期查询的有关问题,请大侠们指教一下,拜谢了!

热度:2034   发布时间:2013-02-26 00:00:00.0
vfp,日期查询的问题,请大侠们指教一下,拜谢了!!
*声明变量,用来保存查询条件
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后,就成了日期了

日期怎么会有包函关系?是不是逻辑有问题?
  相关解决方案