Bento Part6 家計簿を作ってみる
長かったBentoシリーズもたぶんこれが最後(かな?)。今回は前回予告した家計簿みたいなものをなんとか作ってみる。
ファイルメーカーと違っていろいろな制限があるBentoを家計簿として活用するには、コレクションやスマートコレクションといった選別条件をよく考える必要がありそうだ。
いつものように前回までのリンクとおかゆ MacBookさんへのリンクは下記から。
Bento Part1 起動とメインインターフェイス
Bento Part2 DB作ってみる
Bento Part3 仕事のDBを作ってみる
Bento Part4 タスク管理はできるか?
Bento Part5 意見とDebugメニュー
レビュー: Bento は美味しいけど改善点あり(From おかゆ MacBookさん)
さて前回予告していた家計簿。これがなかなかキビシイ。一番の問題は「Bentoには計算フィールドはあるが関数計算がない」という点だ。四則計算しかできない。つまり金額を合計して表示といったことが、「フィールド上では」できないのだ。
しかし「フィールド上では」という但し書きの通り、レコード領域を表表示にしたときだけその表の中のフィールドを合計する「集計行」を使うことができる。ここでは合計、Count、平均、最大、最小を、その表から計算することができる。で、これと「スマートコレクション」を組み合わせれば、なんとか家計簿らしきものができそうである。
まずは新規のライブラリを作り、フィールドを設定する。作っているのはこれだけ。「残額」は計算フィールドで「入金金額ー支払金額」になっている。「予算」のフィールドはチェックボックスに、科目は「食費」「光熱費」「お小遣い」「貯金」など、集計したいもので分けてやる。
そして表レイアウトに作ったフィールドを並べる。金額などの表示が隠れないように幅を設定してやろう。最後に先ほどの集計行ボタンを押し、入金金額、支払金額と残額の列に合計を設定する。基本的な設定はこれで終わりだ。
次に入力の準備。これには新規コレクションを作ってやる。コレクションはメインのライブラリはそのままに大まかなカテゴリを分けるみたいなもので、ここに「2008年5月」というコレクションを作ると、先ほど作ったのと同じで何も表示されていない表ができる。ここに入力したモノはメインのライブラリにも表示されるが、他のコレクションで入力したモノはここには表示されないというわけ。こうしてできあがったモノはこれ。2008年5月用のメインの家計簿……というよりとりあえず現金出納帳みたいな。
さて運用は、この2008年5月というコレクションの表に書き込んでいく。この家計簿は「封筒式」を想定しているので、月初めに予算を決める。日付を入れ、予算にチェックを入れ、各科目ごとに入金金額を記載。そこから先は日付、科目、必要なら内容、支払金額を記載していこう。すると次のようになり、集計行にはそれぞれの合計が出てくるはずだ。
あとはスマートコレクションで上記のように条件を設定し、それぞれの科目毎の表示ができるようにしてやればよい。このとき検索する場所をその月のコレクションにしてやれば、このように月別のカテゴリ集計が表示されるというわけだ。食費のその月の予算、あとは支出が表示され、集計もできるようになるというわけだ。
不満点をいくつか。
Bentoは自動処理などが何もないので、例えば月の残高は、繰越金という科目で新しいレコードを自分で書いて翌月へ渡してやらなければならない。このへんは面倒だ。簡易スクリプト機能くらいはあってもいいかもしれない。
次に計算フィールドがもう少し手を加えられれば……例えば予算チェックが入ってれば+、入ってなければーという条件があれば、お金を書くフィールドは一つで済むのだが。関数が一切使えないというのはつまらない感じがする。
BentoでDBを作る一番のポイントは「表示したいデータのイメージを思い描くこと」だ。どの条件を与えるとどんな表示ができるか、それをしっかりイメージして科目のフィールドを作り、スマートコレクションを使って表示するという流れ。そーいう意味でもBentoのキモはスマートコレクションであり、「スマートコレクションを制するモノはBentoを制す」と言ってしまってもいいかもしれない。
ということで6回に渡ってお送りしてきたBentoシリーズ。少しでもお役に立てれば光栄です。これを読んで興味の湧いたあなた、ぜひBentoを買って試してみてくださいね〜。
| パーマリンク


