回 帖 发 新 帖 刷新版面

主题:有关vfp找不到对象。。。在locate那行提示的 有时提示的是函数错误

if !dbused("家庭理财管理系统")   
      open database 家庭理财管理系统  
endif
use 家庭个人经费开支表
 sele 家庭个人经费开支表
go top
locate for allt(家庭个人经费开支表.年份)=allt(thisform.text1.value)
if found()
 do case 
 case empty(thisform.text2.value)
      if found(thisform.combo1.value=0)
         do case
         case empty(thisform.tex3.value)
              sele*from 家庭个人经费开支表 where 家庭个人经费开支表.年份=thisform.text1.value order by 家庭个人经费开支表.支出日期
         otherwise
              sele*from 家庭个人经费开支表 where 家庭个人经费开支表.年份=thisform.text1.value and 家庭个人经费开支表.用户名=thisform.text3.value order by 家庭个人经费开支表.支出日期
         endcase
      else
          do case
         case empty(thisform.tex3.value)
              sele*from 家庭个人经费开支表 where 家庭个人经费开支表.年份=thisform.text1.value and 家庭个人经费开支表.支出项目=thisform.combo1.value order by 家庭个人经费开支表.支出日期
         otherwise
              sele*from 家庭个人经费开支表 where 家庭个人经费开支表.年份=thisform.text1.value and 家庭个人经费开支表.用户名=thisform.text3.value and 家庭个人经费开支表.支出项目=thisform.combo1.value order by 家庭个人经费开支表.支出日期
         endcase
      endif
 otherwise
      if found(thisform.combo1.value=0)
         do case
         case empty(thisform.tex3.value)
              sele*from 家庭个人经费开支表 where 家庭个人经费开支表.年份=thisform.text1.value and 家庭个人经费开支表.月份=thisform.text2.value order by 家庭个人经费开支表.支出日期
         otherwise
              sele*from 家庭个人经费开支表 where 家庭个人经费开支表.年份=thisform.text1.value and 家庭个人经费开支表.用户名=thisform.text3.value and 家庭个人经费开支表.月份=thisform.text2.value order by 家庭个人开支经费表.支出日期
         endcase
      else
      do case
         case empty(thisform.tex3.value)
              sele*from 家庭个人经费开支表 where 家庭个人经费开支表.年份=thisform.text1.value and 家庭个人经费开支表.月份=thisform.text2.value and 家庭个人经费开支表.支出项目=thisform.combo1.value order by 家庭个人开支经费表.支出日期
         otherwise
              sele*from 家庭个人经费开支表 where 家庭个人经费开支表.年份=thisform.text1.value and 家庭个人经费开支表.用户名=thisform.text3.value and 家庭个人经费开支表.支出项目=thisform.combo1.value and 家庭个人经费开支表.月份=thisform.text2.value order by 家庭个人经费支出表.支出日期
         endcase
      endif 
 endcase  
else
 k=messagebox ("无此年数据")
 if k=1
    thisform.text1.value=""
    thisform.text1.setfocus
 endif
endif        
close database

回复列表 (共5个回复)

沙发

没有提示错误的具体内容,不好说。
如果“家庭个人经费开支表.年份”字段是字符型,试试在表单的init 中加入:thisform.text1.value=""

板凳


错误提示是“函数参数的值、类型或数目无效”就是在locate for那行。还有我设置的是数值型

3 楼

locate for allt(家庭个人经费开支表.年份)=allt(thisform.text1.value)

如果年份字段是数值型,那么文本框的类型也必须是数值型,其value属性设置=0

4 楼


在表单的init里把各文本框等都初始化下数据的格式

5 楼

在表单的init 中加入:thisform.text1.value=0

再改:
locate for 家庭个人经费开支表.年份=thisform.text1.value

我来回复

您尚未登录,请登录后再回复。点此登录或注册