关于filter语句的应用

chinajavis 2007-10-09 04:54:59
for iYear := YearStart to YearEnd do
with BankRecordsTTable do
try
Filtered := False;
Close;
TableName := BANKCARDRECORDTABLE + '_' + IntToStr(iYear);
Filter := '...';
Filtered := True;
Open;
...;
except
end;

每个年份一张银行表
程序是想统计指定年份之内的帐务信息,不能用Query,只可以用Table控件来filter
由于用的是同一个Table控件,所以应该有Filtered:=False和Filter:=True的问题,也应该有Table的Open和Close问题
就是不知道它们之间的运用的顺序是否妥当??
有人写程序在Filtered := False;之后加了Filter:='';为什么要加,不加有什么问题??
Table是先Open还是先Filter??
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WuChenCan 2007-10-11
  • 打赏
  • 举报
回复
Table是先Open还是先Filter??
------这没关系。

建议:如果每张年份利用率很高的话,可以用多个TABLE控件或用QUERY控件进行操作。
骑牛上铂金 2007-10-10
  • 打赏
  • 举报
回复
我一般这样写:
先CLOSE
Filtered:=FALSE
Filter:='....';
OPEN
Filtered:=TRUE;
喝口水 2007-10-10
  • 打赏
  • 举报
回复
for iYear := YearStart to YearEnd do
with BankRecordsTTable do
try
Close;
TableName := BANKCARDRECORDTABLE + '_ ' + IntToStr(iYear);
Open;
Filter := '... ';
Filtered := True;

...;
except
end;



hangzhou_hammer 2007-10-09
  • 打赏
  • 举报
回复
Filtered 后 一定 要 open 。。要不然 没起到作用啊。。
wuchengde 2007-10-09
  • 打赏
  • 举报
回复
有人写程序在Filtered := False;之后加了Filter:= ' ';为什么要加,不加有什么问题?? 应该可以不加吧,可能是各人习惯。
Table是先Open还是先Filter?? 这个应该是一样的。你可以自己测试。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧