ロータスアプローチにアプローチ?
アプローチ? ヒント集 サンプル集 当初の開設目的 活用情報掲示板 お知らせ
リンク Links Links 更新履歴 管理人へメール トップページへ サイト内検索

トップページ >> ヒント集>> チェックボックスを利用して出勤日数集計

approach チェックボックスを利用して出勤日数集計

「チェックボックス」を利用して、1ヶ月分の出勤日数を集計してみましょう。

「チェックボックス」を利用すると、あらかじめ決められた内容しか入力できないので、
ミスが少なくなりますし、入力操作も簡単になります。
出勤か欠勤か、このように決められた内容の入力をするには、
「チェックボックス」を利用すると便利です。


このページは、「活用情報掲示板」での デリカ さんの質問をきっかけにして作成しました。


フィールド定義

1. サンプルのデータベースのフィールドは、下図のようにしました。

 (1) 数値型4桁のフィールドを、1ヶ月の日数分、
   「1日」から「31日」までの31個用意します。
   ここに毎日に出欠を入力します。


 (2) 「計」フィールドは、「1日」から「31日」までの各フィールドの値を集計します。


 (3) 「出勤日数」フィールドでは、「計」フィールドの値から出勤日数を取り出します。

   Right(NumToText(計, '###0'), 2)

  この式では、まず、NumToText(計, '###0') で、「計」フィールドの値を文字型に
   変換します。そして、次に、Right() 関数で、右から2桁を取り出します。
   つまり、1234 という数値データから、右から2桁の 34 を取り出します。


 (4) 「欠勤日数」フィールドでは、「計」フィールドの値から、欠勤日数を取り出します。

   あとで説明しますが、「1日」から「31日」までの各フィールドには、
   出勤の場合は 1 を、欠勤の場合は 100 を入力するようにします。
   そうすることにより、「計」フィールドの値は、1ヶ月毎日出勤した場合には 31 に、
   1ヶ月連日欠勤した場合には 3100 になります。

   ということは、「計」フィールドの値を 100 で割れば、欠勤日数を求めることができます。

   具体的には、Trunc(計 / 100, 0) とすることで、「計」フィールドの値を 100 で割り、
   小数点以下を切り捨てします。



 
チェックボックスを配置したフォーム

2. フィールドの定義が終わったら、下図のようなフォームを作ります。  


 (2) 出勤・欠勤と並んでいるのが「チェックボックス」です。

   データを入力するのは、「1日」から「31日」までの各フィールドですが、
   「データ入力形式」を「チェックボックス」に設定してあります。


 (3) 「チェックボックス」の設定は下図のようにしてあります。

   このように設定すると、つぎのように入力されます。
   「出勤」のほうにチェックがあると 1 が、チェックがないと 0 が入力されます。
   「欠勤」のほうにチェックがあると 100 が、チェックがないと 0 が入力されます。

   なお、一組のチェックボックス中で、チェックをつけられるのは一つだけです。
   一組のチェックボックスのすべてにチェックをつけることはできません。
   「出勤」にチェックがある場合に「欠勤」をクリックすると、「出勤」のチェックが
   はずれ、「欠勤」にチェックがつきます。

   また、他のチェックボックスにチェックをつけずにチェックをはずすには、
   はずしたいチェックマークをダブルクリックします。

   なお、一組のチェックボックスの中の、いずれにもチェックをつけないでおくことはできます。

  なお、上図の「オン時の入力データ」欄と「オフ時の入力データ」欄には、
  半角の数字を入力します。
  ここの数字を出勤・欠勤の日数計算に利用しますので、全角の数字を入力すると
  正しい計算ができません。
 


   上図は、下図のように、「ボタンの定義」ボタンをクリックすると表示できます。


 「フォーム」を作ると、フィールドは「フィールドボックス」の形式で配置されますが、
 それを「チェックボックス」に変更する手順は、このあとで説明します。



「フィールドボックス」を「チェックボックス」に変更する手順

3. 「フィールド定義」が終わると、下図のように、「フィールボックス」を配置した
  「フォーム」が自動的にできます。
  また、「デザインモード」で、「フォーム」に「フィールド」を追加する場合も、
  配置されるのは「フィールドボックス」の形式です。

  ここでは、「フィールボックス」を「チェックボックス」に変更する手順を説明します。


 (2) 「デザイン」ボタンをクリックして、「デザインモード」に切り替えます。


 (3) 切り替えたい「フィールド」をクリックしてから、「フィールド」−「オブジェクトのプロパティ」とクリックして
   「フィールド」のプロパティ画面を開きます。


 (4) 「プロティ」画面では、「基本」タブの「データ入力形式」欄のドロップダウンリストを開き、
   その中の「チェックボックス」をクリックして、「チェックボックスの定義」画面を開きます。


 (5) 「チェックボックスの定義」画面では、上記、2. (3) の図のように設定をします。     


 (6) 設定が終わったら、「OK」ボタンをクリックします。



マクロの作成

3. 全部の「チェックボックス」の入力内容を、ボタンをクリックするだけでクリアできるよう、
  マクロを作ります。

  このマクロは、このページの主題とは関係ありませんが、あったほうが便利なので
  説明します。

 (1) マクロの内容は31行ありますが、内容はいたって簡単です。

   「1日」から「31日」までの各フィールドに、0 を入力します。


 (2) マクロができたら、下図のように、「データクリア」ボタンの「クリック時」に
   このマクロを設定します。

   こうすれば、「データクリア」ボタンをクリックすると、すべての「チェックボックス」を
   クリアすることができます。



動作確認

4. フォームが完成したら、動作確認をします。

 (1) すべての「出勤」の「チェックボックス」にチェックをつけると、
   「出勤日数」欄は 31 になりました。


 (2) すべての「欠勤」の「チェックボックス」にチェックをつけると、
   「出勤日数」欄は 0 になり、「欠勤日数」欄は 31 になりました。


 (3) 1日ごとに、「出勤」・「欠勤」交互にチェックをつけると、下図のようになりました。

   このように、「チェックボックス」を利用して、出勤日数の集計を行うことができます。


このページでは、「チェックボックス」を使って、出勤日数を集計する方法を説明しました。

入力する内容が限定されている場合には、「チェックボックス」を利用すると、
入力ミスが少なく、しかも入力が簡単な画面を作ることができます。

「チェックボックス」を利用してみてください。


一行目に戻る

since March 21, 2005 :

更新日 :