2011/05/29

access2010 Webデータベース その59 日付/時間型フィールドに日付だけを

** Office365beta(プランP1) 環境 **  
日付/時間型フィールドに日付だけ入力できるようにしてみる。

フィールドの入力規則を使ってみた。だけど、他のデータ型のフィールドと違って強調表示されない。日付/時間と判断できない入力については強調表示になる。
 正確に言うと、時分秒の情報がある場合レコードの保存ができないようにする。


フィールドのAfterUpdateで時分秒の情報を削るUIマクロも試してみる。ただし、クライアント上での実行の場合動作は保障されない。そして、深い検証はしていない。
もしかするとForm.Dirty=Trueなのにレコードの保存アクション実行されないということが発生するかもしれない。
コントロールの編集ロック/LoackedプロパティをTrueにしてもプロパティの設定マクロアクションでコントロールの値を代入できるから、日付選択用のダイアログフォームを用意するのも一つの方法だろう。

追加
これでいけそうな気配。但し、1927/5/18以降。
修正

うー、これでよかったのか。クライアント上の場合、地域のプロパティ次第という条件あり。
日付として認識できる入力であれば省略された入力であっても、FormatDateTimeで略されてない日付時間が確認できるのであった。だけど問題は残されていて、日付部分を入力せず時間部分だけ入力した場合、自動に保管される日付はブラウザ/クライアント上で異なる。
 とれあえずこれで試しておこう。1900/1/1を必要とすることはここではないだろうし。
 データマクロイベントであればこれでよいのだろうけど、SaveRecordが必要なの。
 これでよさそう。

0 件のコメント: