TTableでフィルタ式


Sralin5  2018-01-11 03:22:45  No: 48925

環境  Win7Pro  32bit  Delphi2010+BDE+Paradox 
TTable -> DBGrid 接続しています。
Date型フィールド(DateF)でフィルタをかけたいのですが

[OKの場合]
Table1.filter := (DateF>='2029/12/01')and(DateF<='2030/01/31');
Table1.filered := True; 

[OKの場合] 現在のソース
ShortDateFormat := 'yy/mm/dd'; 
Table1.filter := (DateF>='29/12/01')and(DateF<='29/12/31');
Table1.filered := True; 

[不具合の場合] 該当データが0件となります
ShortDateFormat := 'yy/mm/dd'; 
Table1.filter := (DateF>='29/12/01')and(DateF<='30/01/31');
Table1.filered := True; 

どうやら、ShortDateFormat設定で29年(2029)を超えると正常にフィルタがかからないようです。
ソースを変更すればよいのですが、配布等を考えると端末の環境設定等で回避できないものかなと思っています。
助言等ありましたらよろしくお願いします。


通りすがり  2018-01-11 05:40:30  No: 48926

SysUtils.TwoDigitYearCenturyWindow - RAD Studio VCL Documentation (Japanese)
http://docwiki.embarcadero.com/VCL/2010/ja/SysUtils.TwoDigitYearCenturyWindow
の影響でしょうかね?BDEもTTableのフィルタも遙か昔のことで忘れてますが…。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加