トップ > Access2007目次 > 練習3:納品書作成データベース(6)
1)2)3)4)5)6)7)8)9)

練習3:納品書作成データベース(6)

次のステップでは、明細部分の合計金額を表示する場所を作ります。
これにはいろいろなやり方があるんですが、今日はごくごく基本的な方法を取りますね。子フォームの「フォームフッター」部分に、合計計算用のテキストボックスを設けて計算させます。ちょっとクセがあるやり方なんですが、一番手間がかからない手軽な方法なので、まずはこのやり方をマスターしてください。

 

1フッターを広げる

操作中子フォームの「フォームフッター」部分をそっとドラッグして、広げます。
最初はだいたい、フッター部分は折りたたまれて高さ0センチメートルになっているので、このように引き出してから使います。

うーんと、「小計」「消費税」「合計」の3つのテキストボックスを縦に並べる予定なので、2~3センチくらいはあったほうがいいかなと思います。
図1:フッター出現!

 

1非連結のテキストボックスを作る

操作中ここに、テキストボックスを3つ、新しく作ります。
右図の順番でクリックし、まず、ひとつ目のテキストボックスを作成してください。
図2:テキストボックスを作るアル

 

操作中大体、こうやって作ったテキストボックスは、ラベルとの距離がチョット開いてたりするので、ラベルのほうをそっとドラッグしてテキストボックスに近づけておきましょう。
さらに、ラベルの中身も、「テキストxx」じゃなんなので、「小計」とか書き換えておいてください。

テキストボックス、「非連結」って書いてありますね。
非連結とは、このフォームの基になるテーブルやクエリと、特に結びついていない、という意味です。
図3:ラベルの位置を調整しておこう

 

ふたつ目、三つ目のテキストボックスは、チョット横着しちゃいましょう。

操作中今度は、テキストボックスのほうをクリックして選択し、キーボードからCtrlキーを押しながらCのキーを押します。本なんかでは、[Ctrl]+[C]なんて表記されていることが多いですね。選択しているものをクリップボードにコピーする、という意味の、Windowsに共通の操作です。


操作中 続けて、Ctrlキーを押しながらVキーを押します。[Ctrl]+[V]です。
テキストボックスがラベル付きでコピーされます。
同じ要領でもうひとつ、テキストボックスを作っといてください。
図4:ふたつ目のテキストボックスー

 

3テキストボックス 「小計」

では、ひとつ目のテキストボックスの調整に参りましょう。この中には、「金額」の合計を表示します。

操作中「小計」用のテキストボックスをクリックして、プロパティシートを表示させます。
図5:小計の巻ーーー

 

操作中まず、「その他」タブをクリックして、このテキストボックスの名前を変えときましょう。
「テキスト14」とか、Accessが適当につけた名前のままでもいいんですが、ラベルと揃えておいたり、用途に合わせた名前に変えといたほうがお奨めです。
図6:小計、と命名

 

操作中次に、「データ」タブをクリックし、「コントロールソース」というプロパティに計算式を入力します。これは絶対やらないといけませんな。
=sum(金額)
図7:おなじみSum関数だ

 

操作中次に「書式」タブをクリックして、書式を「通貨」にしておきましょう。
これは別にやらなくても問題ないです。
図8:書式も調整しておきましょうか

 

4テキストボックス 「消費税」

操作中次に、「消費税」用のテキストボックスのプロパティを表示させます。
図9:次だ次

 

操作中まず、テキストボックスの名前を変えておきましょう。
図10:名前を変えて

 

操作中次に、一番重要な、コントロールソースを入力します。これは消費税なので、
=小計*0.05
で、いいと思うんですけども。今のところ。
消費税、上がるのかなぁ。下がりはしないですよね。
図11:コントロールソースを指定して

 

操作中次に、書式を「通貨」にしておきましょう。
図12:書式ーーー

 

5テキストボックス 「合計」

操作中最後のテキストボックスです。プロパティを表示させましょう。
図13:ラストーーー

 

操作中テキストボックスの名前を変えて、
図14:図の説明。

 

操作中コントロールソースを入力して、
=小計+消費税
図15:コントロールソース

 

操作中書式を整えて、完了です。
図16:書式ーーーザッツイット!

 

6使用可能

操作中この3つのテキストボックスは、手入力しないテキストボックスなので、「使用可能」「編集ロック」プロパティも調整しておくとよさそうですね。
余裕があったら、トライしてみてください。
図17:覚えてたらやってみて

 

操作中フォームビューに切り替えて、表示の様子を確認しましょう。必要に応じて、テキストボックスの位置や大きさなどを調整しましょう。
図18:まずは出来栄えをじっくり観察すること。良く見る。これすごく大切。

 

7テスト

操作中では、改めて、入力テストをしてみましょう。
親フォームの移動ボタンをクリックして、新規入力行を表示させます。
図19:フォームの一番下だよ

 

操作中入力が必要なところと、入力が不要なところ、間違えないように入力していってください。
「納品日」「会社番号」「型番」「数量」「通信欄」の5箇所が、入力が必要なところです。

図20:図の説明。

 

操作中明細部分を何行か入力していくと、右端にスクロールバーが出るはずなので、何行か入力してみてください。右図の、赤枠の中だけがスクロールするようになります。
図21:ここがスクロールする

 

8補足(1) 区切り線

表形式のフォームのときに、「行と行、行とフッター部分の境目がわかりにくいなぁ」と思うことがあるんですよ。
そういう時私は、「区切り線」というプロパティを利用することがあります。チラッとお話させてください。

操作中子フォームをデザインビューで開き、左上のフォームセレクタをダブルクリックするとかしてプロパティシートを表示します。
図22:毎度おなじみフォーム全体のプロパティを出す方法

 

操作中「書式」タブをクリックすると、「区切り線」というプロパティがありますので、これを「はい」に変更します。
図23:はいはい

 

操作中フォームを保存し、フォームビューに切り替えてみてください。微妙に・・・行と行の間に、黒い線が入りましたよね。
フォームのデザインによっては、返って見にくくなることもあるんでケースバイケースですが、こういうプロパティもありますのでぜひ、使ってみてください。


親フォームを開いてみないと、感じがつかめない?
なるほど、確かに。では、子フォームは閉じて、親フォームの方を開いてみましょう。
単に「フォームを開く」といったら、フォームビューで開くことなわけで、ナビゲーションウィンドウからダブルクリックすることですわね。
図24:線がくっきり。ちょっと色が濃いかなぁ。

 

操作中「納品書フォーム」(親フォーム)を開いてみました。
子フォームの部分、見やすくなりましたですかねぇ。
図25:うーん、どうかな

 

操作中あ、そしたら、ヘッダーとフッター部分だけ色を変えるって手もありますよ。
親フォームを閉じて、もう一回、子フォームの方をデザインビューで開いてください。

右図の順番でクリックして、フォームヘッダー部分の色を変えてみましょう。
図26:見出し部分の色を変える感じ

 

操作中フッター部分も、同じような色に変えてみましょう。
詳細セクションより濃い目の色にすると、見やすくなるかもしれません。

子フォームを保存してから閉じ、親フォームを開いてみましょう。パタパタしますが。
図27:図の説明。

 

またちょっと雰囲気変わりましたよね。これなら、区切り線は要らないかなぁ・・・。
線をつける、色を変える、といった単純なデザイン変更でも、雰囲気がガラッと変わって使いやすくなることもありますんで、いろいろ試してみてください。
ワケがわからなくなったら、やり直しボタンで元に戻ればいいんだし。

え?やり直しボタンってなんだったっけ、ですって?まあ、忘れちゃっても差し支えないですけどね・・・。左上に小さい、曲がった矢印のボタンがあるでしょ。クリックするごとにひとつ前の状態に戻っていくわけで。勿論戻せない操作もありますけど、デザインの変更とかだったら戻せますから、思い切っていろいろやってみてください。
図28:このほうがきれいかなぁ

 

9補足(2) あれ?並び順が・・・

あれ・・・?今気がつきました。私の画面だと、親フォームを開いて一番最初に出てくるレコード、伝票番号2のレコードだ。なんで伝票番号1じゃないんだろう。

うーむ、どうやら、もとになるクエリ「Q_納品」のレコードの並び順が、伝票番号順になってないみたいです。
このままでも、気にならなければいいんですけど、ちょっとなぁ・・・。

じゃ、クエリを確認してみましょう。親フォームは一旦、閉じてください。
図29:あれまーどういうこと?1レコード目の伝票番号が、2だ。

 

操作中やっぱり・・・「Q_納品」を開いてみると、伝票番号の順番が・・・。
図30:あれまー

 

どうやら、会社番号順に並んでしまっているみたいです。やっぱり、伝票番号順のほうが、しっくりくるような気がするなぁ。
図31:なるほど

 

操作中クエリをデザイン画面に切り替えて、「伝票番号」順に並ぶように設定します。「昇順」でよいでしょう。小さいもん順、ってことですね。
クエリを保存して、閉じます。

何とか番号、とか、何とかIDとか、そういうフィールド名のフィールドがいくつか存在する場合は、今回のようなことが起こる可能性があります。なるべく、意識して並び順を指定しておいたほうがよさそうですね。
図32:並び順を指定しよう

 

10補足(3) レコードを削除したら?

操作中このページの最後に・・・突然ですが、明細を間違えて余分に入力してしまったとします。
レコードは、右図のように、レコードセレクタと呼ばれる箇所をクリックしてからDeleteキーを押せば、その行を削除することができます。
ちょっとやってみましょう。

せっかく入力したレコードを消したくない!!という人は、読むだけにしておいて下さい。
図33:間違えちゃった。レコードセレクタをクリックして、Deleteキー

 

操作中すると、仰々しいメッセージが出ます。削除を止めるときは「いいえ」をクリック。削除を続行するには「はい」をクリックします。
「はい」をクリックしてください。
図34:はいはい

 

すると・・・。右図のように、番号がひとつ飛びます。自動的に番号が振られるんじゃないのかって?
そんな処理、作りました?作ってませんよ。
応急措置としては、「注文番号」を入力できる状態にして、行番号を手入力する・・・ってとこかなぁ・・・。今、「注文番号」って、カーソルすら入りませんもんね。

もし、レコードを削除したり、途中に1行割り込ませたいなどという場合は、さらに処理を追加する必要があります。
そして、おそらくそれは、非常に難しいです。難しいというのは、Accessの使い方がということではなくて、どうやるか一から考えないとならないということですね。
決まったやり方は無いので、マクロやらコードやらを駆使して、自分で処理を作っていく、ということになります。

欧米では、どうも、帳票や表フォーム上に「行番号」みたいな連番を付けるってことに、あまり興味を示さないみたいなんですよね。だから、Accessの基本的な機能の中にも、「表フォームの各行に連番を振る」ってのは、無いんです。今日のところは、”それはどうやら非常に難しいらしい”とだけ、覚えておいて下さい。
図34:あれー番号が飛んだーでもこれが現実なのねー

 

以上で、シンプルな納品書フォームの作成作業は一段落です。
けっこう、いろいろやらないといけないなぁという印象をお持ちの方もいらっしゃるかもしれませんが、印刷物を作るというより、業務用の仕組みというか、データベースを作るという作業なので、「ちょっと印刷したいだけなんだけど」というときはExcelかWordでちゃちゃっと作っちゃったほうがよさそうですよね。ですが、こうやってデータベースを作っておくことで、納品データがずっと貯まっていきますので、いつどの商品をどこに届けたか、後で確認したり、月別の集計表を出したりといったことが可能になります。
Excelを使うかAccessでやるかは、”時間の流れ”や”奥行き”の部分をどうするかによっても変わってきます。単に機能や仕様だけでは使い分けの判断はできないんじゃないかな、と、私は思いますよ。

さて・・・実はここまでの作業は、序章に過ぎません。そうです。これからいよいよ、印刷物を・・・納品書を作ります。

このページのまとめなど

  • フォームフッターは通常は折りたたまれているので必要に応じて広げて使おう。
  • フォーム上で計算をしたいなら、非連結のテキストボックスを作ってコントロールソースに式を入力しよう。
  • 非連結のテキストボックス、意識して名前を変えておこう。そのほうが何かとわかりやすい。
作成日:2009-02-02

コピーライト