程序运行正常,但在主窗体关闭时总触发一个异常,意思是字段'enterdate'不存在????(100分)

  • 主题发起人 主题发起人 hebiao
  • 开始时间 开始时间
H

hebiao

Unregistered / Unconfirmed
GUEST, unregistred user!
我用了一个TQuery控件,从两个Foxpro表中进行联接查询,SQLstring是这样写的
select worker.workerno,worker.workername,work.enterdate,work.entertime
from worker right join work
on worker.workerno=work.workerno

我又定义了它的FilterRecord事件
Accept:=(DataSet['enterdate']>date-1) and (DataSet['enterdate']<=date)

在运行还正常,但是在关闭主窗体时总是触发异常,意思是字段'enterdate'不存在,为
什么会这样,上面的Tquery控件不是在主窗体上,运行时关闭这个窗体没有问题,但是在
程序结束时一关闭主窗体就触发上述异常????????

 
你先单步执行一下,确定异常出现在哪一行上。否则不易判断错误。
根据你的代码,如果当前记录的‘enterdate'字段值为空,可能会产生错误或异常。你可将过滤改为Accept:=(DataSet.fieldbyname('enterdate').asdate>date-1) and (DataSet.fieldbyname('enterdate').asdate<=date).这样转换一下,就会解决字段值空生成的错误。
如果不行,你最好给出完整的异常消息及出错的代码行,再加以判断。
 
错误就在Accept那一行,可是那个字段不可能为空啊,我看过的
 
顶顶,不会用Filter
 
hebiao
我拜师的贴子。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1249999
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部