一个关于查询问题的疑惑。
一条查询语句,在不同的表单下运行,居然有两条记录数据不一样。反复核对了查询语句,确认没有问题。直觉告诉我,既然查询语句没有问题,那么就一定是数据的问题。从什么地方查起呢,当然是从有问题的两个数据查起。打开原表,用过查询分别查看了原表数据。果然分别有一条删除的记录。如果删除语句生效,数据就没有任何问题。我就有点弄不清楚了,因为我的主程序中已经设置了删除立即生效命令,即SET DELETE ON.那么就一定是有一条语句对删除生效语句产生了影响,导致删除语句不能生效。为了证明我这个猜想,我直接在一个表单查询语句前端再一次添加了SET DELETE ON语句。再次运行表单,查询结果完全一样。那么是那一个设置语句导致了删除语句立即生效呢,我反复查看了所有设置语句,没有得到确认结果。我只是高度怀疑,在表单装入的的时候,为了避免过滤语句(set filter to)对表有影响,直接设置了过滤语句还原,即SET FILTER TO。是不是这个原因,我不敢确认,特在此写出,请各位大佬指点。谢谢!再次感悟。过滤语句,尽可能不要使用,会带来非常多的麻烦。可以用查询语句替代,如果一定要使用,就一定再程序完成后立即让表还原。








