2011-09-16 7 views
0

私は、アクセス2007年に提出されたdatetimeの時間だけをユーザに選択させたいのです。私は、日付コントロールが組み込まれていますが、時間コントロールを見つけることができません。時間ピッカーコントロールを持つ方法があれば誰にも分かりますか?タイムピッカーアクセス2007

答えて

2

時間値を入力する場合、特殊なコントロールは、日付/時刻フィールドIMOにバインドされたテキストボックスに時間値を直接入力するよりもはるかに便利です。

午後1時30分に、彼女は1:30pと入力するだけで適切に受け入れられます。もし彼女が好きなら、彼女はその時間を13:30と入力することもできます。

時刻とともに(ゼロではない)日付値を入力できないようにしている場合は、テキストボックスの更新後イベントで日付部分を破棄することができます。ユーザーは、入力した値の日付部分が破棄されると、実際に高速にキャッチする傾向があります。

Private Sub txtTimeOnly_AfterUpdate() 
    Me.txtTimeOnly = TimeValue(Me.txtTimeOnly) 
End Sub 

実際には、日付部分をVBAの日の#1899/12/30#に変換します。しかし、これは、Date \ Time値には常にVBAとデータベースフィールドタイプの両方の日付が含まれているため、「時間のみ」の値を保存することをお勧めします。

あなたはより多くの保証をしたい場合は(#1899、日付など/ 12/30#で)時間値を格納するフィールドは、あなたがテーブルの上に、検証ルールを設定することができます:あなたはまだ感じた場合

IsNull([time_only_field]) Or DateValue([time_only_field])=CDate("1899/12/30") 

をこのために時間ピッカーコントロールが必要です。誰かが作成したかどうかをWebで調べてください。彼らはバージョンの問題を引き起こすので、私はActiveXコントロールを避けるだろう。

または、コンボボックスで独自のカスタムタイムピッカーを作成できるとします。 1分間分。必要に応じて、1秒間に1回。更新後のコンボイベントでは、それらの部分から時間値を作成し、time_only_fieldにバインドされたコントロールに保存します。そのコントロールはユーザーが編集可能である必要はありませんが、可視にすると完成した値を見ることができます。