Microsoft Access Club >初心者講座 >休暇申請管理ソフト >このページ >次頁 - 前項  サイト内検索


休暇申請不可リスト入力フォームの作成:休暇申請管理ソフト



今、物凄い夕立です。雨の日はパソコンの前に向かうのがちょうどいいですね。 さてさて、今回は各種フォームの作成に進みましょうか。

休暇申請不可リスト入力フォーム、名前をご覧になってびっくりされてますか。他に適当な名称がなかったもので‥。要するに、「この日は、休暇申請を認めないよ」という日を定義していくフォームのことです。

デザインビュー

デザインビューで開くと下記のようになっています。レコードソースは、tbl_休暇不可テーブルだけです。特に難しいものはありません。

 

曜日の取り扱い

よく、曜日をテーブルフィールドにデータ入力しているAccessファイルを見かけますが、特にこのデータを利用する理由がなければ 止めた方がいいです。一般的に、曜日はテーブルデータとして保存するのではなく、クエリやフォーム等でデータ表示を行う際にのみ表示させる方法を取ります。

例えば、

  1. テキストボックス名:txt年月日
  2. 曜日のテキストボックスのレコードソース欄に
  3. = Format(Weekday([txt年月日]),'(aaa)')  'aaaa とすると、2001/10/10(水曜日)
  4. 例.  2001/10/10(水) のようになります。

と記述するだけで表示が可能となります。

事由欄は、コンボボックスを利用しています。まあ、毎回使うものですから、過去のデータを参照すれば、手間を省くことができますね。 利用できるものは何でも利用しましょう。

値集合ソース

値集合ソースは、下記のとおりです。

いつもながら、クエリの種類は集計クエリとし "グループ化"と"カウント"を利用しています。これによって一番多い項目順(降順)にリストが整列するようになります。

レコード移動時イベントプロシージャ

このフォームに記述しているプロシージャは下記のとおりです。

Private Sub Form_Current()

    Me.適用.Requery

End Sub

解説

コンボボックスに新規データを入力し、そのデータを次のレコード入力時に一覧表示リストとして使用する場合、再クエリ処理が必要です。よく、初心者の方が、「入力済みであるデータが表示されない」との 質疑をされるは、このような時です。もちろん、この回答は、再クエリを行うことです。

フォームを開く時イベント

Private Sub Form_Open(Cancel As Integer)

    Call Kanrisha識別 'Subプロシージャを呼び出します。

End Sub

解説

これは、先の「環境設定フォーム」で解説したので省略します。

フォーカス取得時イベント

Private Sub 適用_Enter()

    If IsNull(Me.適用) Then
        Me.適用.Dropdown
    End If

End Sub

解説

コンボボックスにフォーカスが移ると、自動的にリストを表示したい場合、

  • コンボボックス名.Dropdown

を記述することで簡単に可能となります。

このプロシージャは、コンボボックスが空白である場合のみリストを表示します。いつでも表示させる場合は、Me.適用.Dropdown だけで十分です。

 

ページの先頭へ 前ページへ戻る

 


休暇申請不可リスト入力フォームの作成:休暇申請管理ソフト


 

-Microsoft Access Club-