スポンサードリンク



クエリから明細フォームを作成する

今回は伝票に組み込む明細を作ってみましょう。クエリQ09Detailsから明細フォームを作成します。Q09Detailsにはフォームに必要なフィールドが全て揃っています。明細フォームはそれぞれのレコードを表形式で一覧表示します。クエリを見るとフォームの作り方が何となくイメージできるのではないでしょうか。

access-query341.gif

フォーム「F02Details」を開くと、見本を見ることができるので利用してください。


【1】Accessのファイル「SampleDB020.mdb」を起動します。
*簡単な操作は省略していきます。


【2】オブジェクトで「フォーム」を選択します。

access-query345.gif


【3】「ウィザードを使用してフォームを作成する」をダブルクリックします。

access-query363.gif


【4】「Q09Details」を選択します。クエリを間違わないように注意してください。

access-query364.gif


【5】「>>」をクリックします。

access-query365.gif

フィールドは1つずつ選択したり、戻すこともできます。


【6】全てのフィールドを選択したら、「次へ」をクリックします。

access-query366.gif


【7】「表形式」を選択して、「次へ」をクリックします。

access-query367.gif

*明細は表形式で一覧表示します。


【8】「標準」を選択して、「次へ」をクリックします。

access-query368.gif


【9】フォーム名に「F04Details」、「フォームを開いてデータを入力する」をチェック、「完了」をクリックします。

access-query369.gif


【10】フォームが自動で作成され、フォームビューで表示されました。

access-query370.gif

この段階では全てのレコードが表示されていますが、気にしないでください。サブフォームを使ってF03SlipにF04Detailsを組み込むと、フォームの機能で自動的に伝票ごとのレコードが抽出されます。


【11】明細も少しデザインを変更しましょう。デザインビューに切り替えます。

access-query371.gif


【12】目盛りを目安にして、ラベルとテキストボックスの位置や幅を以下のようにしてください。

access-query372.gif


【13】「Shiftキー」を押しながら、入力する必要のないテキストボックスDETAILS_CD、SLIP_CD、GOODS_NAME、PRICE、P*Aを選択します。

access-query373.gif

複数のテキストボックスの設定を一度に変えるための操作です。もちろん1つずつプロパティを変えることもできます。


【14】テキストボックスを選択状態のまま、「プロパティ」をクリックします。

access-query374.gif

もし選択が解除されてしまった場合は、13の操作をやり直します。


【15】「データ」タブを選択し、「使用可能」を「いいえ」にします。設定したらプロパティを閉じます。

access-query375.gif


【16】テキストボックスの色が変わり使用不可になりました。入力が必要なGOODS_CD、AMOUNT、MEMOは白いテキストボックスのままです。

access-query376.gif

このように入力しないテキストボックスをわかりやすくしておくと、システムを使うユーザーに親切です。


【17】フォームビューに切り替えてみます。

access-query377.gif


【18】GOODS_CD、AMOUNT、MEMO以外はカーソルが移動できないようになっています。GOODS_CDやAMOUNTを変更すると他のフィールドが自動で変わることを確認してください。

access-query378.gif

フォームで変更した値がクエリを通じてテーブルに保存されることをイメージしてください。また演算フィールドは値が変わると再計算されます。

動作の確認が済んだら、なるべくデータは元に戻してください。戻さなくてもかまいませんが、後にTOTALの金額を出すときに見本と値が異なります。


【19】フォームの変更を「上書き保存」します。

access-query379.gif


【20】保存したらフォームは閉じてください。


大事なポイントなので何度も書きますが、クエリさえきちんと表示できていれば、フォームを作るのは難しくありません。


スポンサードリンク






Microsoft Access初心者入門講座 TOPへ