さてそれでは、上記目的の 1. を満たす フォームを考えてください。
1. 1日の売上計算を EXCEL操作より簡単に行うこと。
この目的から、1日の売上計算のために、売上を逐一(全部)入力することが必要だとわかりますか?
売上げを入力するためには、売上げ用のテキストボックスが必要ですね。
でも、一体いくつのテキストボックスが必要なのでしょうか?
売上げは1日1件じゃないでしょう。
1日に何件あるかは、決まっていないことでしょう。
こういう場合どうすればよいかと言うと、まず依頼主に聞いてみることです。
「1日に売上げが何件ありますか?」と。
その返事によって、売上げ用のテキストボックスの数を決めましょう。
業種によって、数はずいぶん違うと思われます。
Tさんの場合は、取り扱う商品がちょっと特殊だったため、1日に数十件だという返事でした。
それで、テキストボックスを50こ使ってフォームを作りました。
もし50こで足りなければ、50こずつ入力してもらえば、どんどん足し算されますので問題ありません。
では次に、日計用のフォームに必要な項目は何でしょう?
「日計」なのですから、日付が必要だとわかりますか?
今回は、1年1ブックですから、すでにブックを選択してオープンしている段階でしか
このプログラムを実行できないことを考慮して、年はすでに決定されているものと考えます。
要するに「月日がわかれば、どのセルに合計を記録するかわかる」ということです。
従って、「月」と「日」のテキストボックスが必要ですね。
さらに必要な項目を考えてみましょう。
あと、どうしても必要なものは、入力された売上げの合計を、該当セルに記録するタイミングを知るものです。
要するに「いつ終了するか」ってことですね。
売上げの件数が決まっていませんから、どこまで入力されれば終わりかは、プログラムで判断できません。
無論50こ全部のテキストボックスが入力されたら、その時は終了だとわかりますが、
10しか売上げがないのに、50も入力することなどできません。
それで、コマンドボタンを押して、終了をプログラムで判断できるようにしました。
今回のフォームです。
|
1〜10 のラベル、「曜日」のラベル、「合計」のラベル、「中止」のコマンドボタンは、
ユーザフレンドリー(親切設計)になるように追加しました。
それぞれのオブジェクト名を以下に書いておきます。
- フォーム: F_Nikkei
- 月のテキストボックス: tbTuki
- 日のテキストボックス: tbHi
- 曜日のラベル: lblYobi
- 売上げのテキストボックス: tbKin1 〜 tbKin50
- 合計のラベル: lblGokei
- 合計金額のラベル: lblKinGokei
- 中止のコマンドボタン: cmdCancel
- OKのコマンドボタン: cmdOK
今回からは、できるだけ「仕様」に関する考え方を書いていこうと思っています。
説明のしにくい部分ではありますが、簡単なプログラムをサンプルとして、頑張ってみます。
皆さんも、身の回りのことで、どんなものがプログラムできるか、
自分ならどんなプログラムを作成するか、考えてみてください。
|