環境 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)を超えると正常にフィルタがかからないようです。
ソースを変更すればよいのですが、配布等を考えると端末の環境設定等で回避できないものかなと思っています。
助言等ありましたらよろしくお願いします。
SysUtils.TwoDigitYearCenturyWindow - RAD Studio VCL Documentation (Japanese)
http://docwiki.embarcadero.com/VCL/2010/ja/SysUtils.TwoDigitYearCenturyWindow
の影響でしょうかね?BDEもTTableのフィルタも遙か昔のことで忘れてますが…。