2000/12/10 | Problem 2001 | |
---|
| データーベース検索式(SQL)には、アメリカ式(月,日,年の順)で 日付を指定するのが決まりであるし一般的だが、日本では馴染みが薄いため、 VBやVBAでは年,月,日の順でも自動的に判別し、検索が行えるようになっている。
そこで問題が起きるはずだ。
1999年5月1日の記述
正規記述 #5,1,99# 日本記述 #99,5,1#
2000年5月1日の記述
正規記述 #5,1,00# 日本記述 #00,5,1#
ここまでは誤解なく変換されるだろう。正規記述方法で日本記述を読むと エラーとなるため、日本記述で解釈を試みるからだ。 要は、99月5日1年や00月5日1年は存在しないからだ。
しかし、2001年になると恐怖の現象が起きる。
2001年5月1日の記述 正規記述 #5,1,1# 日本記述 #1,5,1#
日本記述で書くと、正規記述で1月5日1年と解釈される。 このようにして、2001年~2012年までは誤解が生じる。
プログラマーの方、システム担当の方、マクロを作っている方、 全てのプロダクトを「#」で検索して確認してください。 |
|