| ■No40758 (もんたな さん) に返信
> あの、重ねて質問で申し訳ないのですが、1つ教えて下さい。
> Today().ToString("yyyyMMdd")
> と指定してこれをアクセスにインサートしたいのですが、
> これでも何か問題ってあるでしょうか…
まず、アプリケーションはどこで実行されますか?
DB サーバー上で実行される場合、厳密には、DBサーバー上の時刻と
実行環境の時刻は一致していない可能性があります。もちろん、時刻合わせを
行うとは思いますが、可能であれば、どちらの時刻を使うのかは、
システム上で一貫性を持たせた方が良いかと思います。
で、もしも DB 上の時間で構わないのであれば、Date/Now 関数を SQL 中に埋め込んで、
INSERT INTO foo (col1, col2) VALUES ( Now(), Year(Now()) * 10000 + Month(Now()) * 100 + Day(Now()) )
のような追加クエリを組み上げるという手があります。
一方、VB.NET 側で組む場合ですが、
Today().ToString("yyyyMMdd")
という構文は NG です。
これでも一応は "20090902" を返してくれる事が多いのですが、確実であるとは言えません。
先に書いたように "210902" が返される可能性がありえるからです。
OS の設定を和暦表示にしていた場合、
MsgBox(#12/31/2009#.ToString("yyyyMMdd"))
が「211231」になる事を忘れないようにしてください。 |