2−1
請求書の入力フォーム
これまでに作成した顧客名簿テーブル、自社プロフィールテーブル、商品テーブルのデータを利用した請求書形式の伝票を作成します。
Accessのフォームウィザード(フォームを自動作成する機能)を使って作成することもできますが、そのためにはフィールド名、リレーションシップの設定などのさまざまな条件が整わないと期待どおりのフォームは作成されません。中途半端に作成されたフォームを作り替えるのはやっかいですし、自動的に設定されたプロパティの意味が理解できないとどう変更すればよいのか見当もつかないでしょう。
本書では、すべてを手動で作成する方法について解説しています。フォームについて理解が深まれば、ウィザードで作成されたフォームを目的にそって作り替えることができるようになるからです。
フォームの役割は、次のようなことです。
@テーブルに入力されているデータを適切に並べて表示する
Aデータ入力をしやすくする
Bテーブル内の特定のデータだけを抜き出して表示する
? 新規フォームを作成する
フォームにコントロールという部品を挿入して、さまざまな機能を付加します。コントロールには、テキストボックス、ラベル、コンボボックス、リストボックス、サブフォームなどの種類があります。ラベルコントロールは、フォームのタイトルやフィールド名を表示する機能をもちます。
1◆フォームの作成の流れ
何も加工されていない白紙のフォームを作成し、そこにコントロールを挿入してタイトル表示、データ表示などのさまざまな機能を付加します。
また、作成中に新しいテーブルやフィールドの追加や削除の操作も行います。
フォーム作成の手順は、図2.1のようになります。
@白紙のフォームを作る
Aフォームのもとになるテーブルを選択する
Bデータなどの表示処理を付け加える ●テーブルに不足するフィールドを追加する
●IME入力モードの自動切り替えを設定する
C入力支援機能や計算機能を付け加える ●一覧表からの選択処理など、入力を簡略化するための入力支援処理を設定する
●自動計算などの数式を挿入する
図2.1 フォーム作成の手順
2◆白紙のフォームを開く
まず白紙のフォームを作ります。そのフォームにさまざまなコントロールを配置して目的のフォームに仕上げます。
>操作
図2.2 データベースウィンドウ
@[フォーム]をクリックしてフォームウィンドウに切り替える
ア作成済みのフォーム名が表示される
A[新規作成]をクリックする
図2.3 [フォームの新規作成]ダイアログボックスが表示される
B[デザインビュー]をクリックして反転表示にする
C[OK]をクリックする
図2.4イ白紙のフォームが開く
ウコントロール一覧のツールボックスが表示される
ツールボックスのタイトル部(図2.4エ)をドラッグして、移動することができます。操作の
じゃまにならない位置へ移動しておきます。
AC7H004Z AC7H005Z
AC7H006Z
●コントロール一覧の表示と非表示
コントロール一覧のツールボックスが自動的に表示されなかったり、あるいは表示させ
たくない場合は、ツールバーの[ツールボックス]ボタンをクリックします。表示のときに
クリックすると非表示、非表示のときにクリックすると表示になります。メニュー操作
で表示する方法は126ページの「●テキストボックスの挿入」で解説します。
>操作
図2.5@[ツールボックス]をクリックする
ツールボックスの表示/非表示が切り替わる
AC7H0075Z
3 フォームのサイズを変える
新規のフォームは既定値サイズで作成されますが、フォームの4辺や4隅をドラッグし
てサイズを変更できます。サイズを大きくすると操作しやすくなります。
●フォームの横幅や高さの変更
フォームの右辺や下辺にマウスポインタを合わせ、マウスポインタが両向きの矢印の形
になった状態でドラッグします。フォームウィンドウを少し広げて操作します。フォー
ムの高さ(天地)も同様の操作で変更できます。
>操作
図2.6 フォームウィンドウ
アフォームの本体
@ウィンドウの右下角をドラッグアンドドロップでウィンドウサイズを変更する
Aマウスポインタが両向きの矢印に変わる位置に合わせる
図2.7Bドラッグして左右に移動する
図2.8Cマウスボタンを放したときのサイズに変更される
イ縦方向はフォームの下辺にマウスポインタを合わせてドラッグする
AC7H008Z
AC7H009Z
AC7H011Z
AC7H012Z
●フォームの天地左右のサイズを同時に変更
フォームの右下の角にマウスポインタを合わせ、マウスポインタが十字形の矢印になっ
た状態でドラッグします。
>操作
図2.9 @マウスポインタが十字形の矢印に変わる位置に合わせる
Aドラッグしてサイズを変更する
図1.10アマウスボタンを放したときのサイズに変更される
AC7H013Z
AC7H014Z
4 フォームのレコードソースを選ぶ
これから図2.11のようなフォームを作成します。これは、顧客に発行する請求書ですから
、顧客名簿テーブルをもとにして請求先の宛名(図2.11ア)が入ったものを作成します。
AC7H015Z
●フォームの作成
請求書のフォームを作成し、もとになるテーブルを設定します。もとになるテーブルの
ことをレコードソースといいます。フォームのレコードソースは、フォームのプロパテ
ィで設定します。
>操作
図2.12 デザインビューで開いたフォーム
@[■]ボタンを右クリックしてショートカットメニューを表示する
A[プロパティ]を選択する
図2.13 プロパティ一覧のダイアログボックスが表示される
B[データ]タブをクリックしてこの一覧を表示する
C[レコードソース]欄をクリックして[▼]ボタンを表示する
図2.14D[▼]ボタンをクリックするとテーブル一覧が表示される
E目的のテーブル(顧客名簿)を選択する
図2.15F[×]ボタンをクリックしてダイアログボックスを閉じる
レコードソースを選択すると、フィールドリスト(図2.15ア)も同時に開くことがあります。使わない場合は[×]ボタン(同図イ)をクリックして閉じます。
AC7H016Z AC7H017Z
AC7H018Z AC7H019Z
AC7H020Z AC7H022Z
●フィールドリストの表示
閉じたフィールドリストは、ツールバーの[フィールドリスト]ボタンを押せばいつでも表示することができます(図2.16ア)。
AC7H021Z
●動作の確認
フォームビューに切り替えて、フォームの表示状態を見ておきましょう。ビューを切り
替えるときは保存操作を行います。
>操作
図2.17@ [ビュー]ボタンをクリックする
図2.18 フォームビューに切り替わる
ア レコードソースに設定したテーブルのレコード番号が表示されている
イ テーブルに登録している顧客数が72件なのでレコード数72が表示されている
AC7H023Z AC7H024Z
レコードソースを設定しただけなので、フォームにはレコード番号とレコードボタンしか表示されません。レコード番号が顧客番号に相当し、[▲▼]ボタンをクリックするとレコードを選択できる状態になります。
デザインビューに戻って、コントロールを追加する操作を行います。
5◆テキストボックスにデータを表示する
テキストボックスを挿入して顧客名を表示させます。
●テキストボックスの挿入
ツールボックスが表示されない場合は、図2.19アの[ツールボックス]を選択して表示します。
AC7H025Z
ツールボックスの[コントロールウィザード]ボタンと[テキストボックス]ボタンが押し込まれた状態で操作します。
>操作
図2.20ア[コントロールウィザード]ボタンが押し込まれた状態
@[テキストボックス]ボタンをクリックして押し込んだ状態にする
図2.21Aドラッグアンドドロップの操作で挿入する
図2.22 ウィザードが起動する
Bテキストボックスの表示スタイルを指定する
C[次へ]をクリックする
図2.23 この画面に切り替わる
D[次へ]をクリックする
図2.24 コントロール名の入力画面に切り替わる
E入力欄をクリックしてテキストボックス名を入力する(ここでは「顧客名」)
F[完了]をクリックする
図2.25イフォームにテキストボックスとラベル「顧客名」が挿入される
AC7H026Z AC7H027Z
AC7H028Z AC7H029Z
AC7H031Z AC7H030Z
図2.24Eの操作でテキストボックス名を入力せずに[完了]をクリックすると、図2.26ウのように仮のテキストボックス名が表示されます。この名前は、システムの状態によって異なります。コントロールには、わかりやすい名前を付けるようにしましょう。
AC7H030Z
●ラベルの削除
テキストボックスを挿入すると、標題用のラベルも同時に挿入されます。ラベルが不要な場合は、削除します。
>操作
図2.27@ラベルを右クリックしてショートカットメニューを表示する
A[切り取り]を選択する
図2.28アラベルが削除される
図2.29B[元に戻す]ボタンをクリックする
図2.30イ元に戻る
削除したラベルは、他の操作を行う前なら[元に戻す]ボタンで復活させることができます。
AC7H033Z
AC7H034Z
AC7H035Z AC7H036Z
●ラベルの移動
ラベルだけを単独で他の位置へ移動することもできます。
>操作
図2.31@移動するラベルの左上角の■(他より大きい四角形)にマウスポインタを合わせる
図2.32A任意の位置へドラッグする
図2.33アマウスボタンを放したときの位置に移動する
左上角の大きめな四角形以外の場所をつかんでドラッグすると、テキストボックスとラベルが同時に移動します。単独で移動するには、上記の操作を行います。同様の操作で、テキストボックスを単独で移動することもできます。
AC7H037Z AC7H038Z AC7H039Z
●表示内容の設定
挿入したテキストボックスに、選択しているレコード番号に対応する内容を表示させます。ここでは、顧客名簿テーブルの会社名フィールドの内容を表示させます。
>操作
図2.34@挿入したテキストボックスを右クリックしてショートカットメニューを表示する
A[プロパティ]をクリックする
図2.35 テキストボックス「顧客名」のプロパティ一覧が表示される
B[データ]タブをクリックして、この画面にする
C[コントロールソース]欄をクリックして[▼]ボタンを表示する
図2.36D[▼]ボタンをクリックしてフィールド一覧を表示する
E[会社名]をクリックする
図2.37ア[コントロールソース]欄に「会社名」が表示される
F[×]ボタンをクリックしてウィンドウを閉じる
図2.38イテキストボックスにコントロールソース(選択したフィールド名)が表示される
AC7H040Z AC7H041Z
AC7H042Z AC7H043Z
AC7H044Z
●動作の確認
次の操作で確認しましょう。
レコードボタンをくりっくしてレコード番号を変えると、対応する顧客名が表示されます。なお、テキストボックスが反転表示になっていてやや見にくいのは、[Tab]キーで入力欄を移動すれば解消できます。
>操作
図2.39 @[ビュー]ボタンをクリックしてフォームビューに切り替える
アレコード番号「1」の顧客名が表示される
Aレコードボタンをクリックする
図2.40 イ次の顧客名が表示される
確認したら、[ビュー]ボタンをクリックしてデザインビューに戻ります。
AC7H045Z
AC7H046Z AC7H047Z
6 データの書き換えを禁止する
以上で顧客名を表示させるという目的は達成できましたが、1つ問題点が残ります。テキストボックスにテーブルのデータを直接表示しているので、フォームでデータを書き換えられるという点です。
このフォームの目的は、顧客名を編集することではなく、請求内容として顧客名を表示することです。このままでは、うっかり顧客名を書き換えてしまうという不都合が発生します。
これを解決するために、顧客名の表示に使っているテキストボックスのプロパティ[編集ロック]で表示専用に設定し、書き換えられないようにします。テキストボックスのプロパテウィンドウを表示してプロパティを変更します。
>操作
イ コントロールを右クリックしてショートカットメニュー[プロパティ]を開く
図2.41@[データ]タブの[編集ロック]をクリックして表示される[▼]ボタンをクリックする
A[はい]をクリックする
図2.42ア[はい]が設定される
B[×]ボタンをクリックして閉じる
AC7H048Z AC7H049Z
7◆タイトルなどの文字列を表示する
フォームに文字列を表示するには、ラベルを使います。テキストボックスでも表示できますが、書き換える必要がない文字列なのでラベルを使います。
フォームのタイトルとして「請求書」、顧客名のうしろには「様」を表示することにしましょう。
>操作
図2.43@ツールボックスの[ラベル]ボタンをクリックして押し込んだ状態にする
図2.44Aドラッグアンドドロップの操作で挿入する
図2.45アラベルが挿入され、文字入力が可能な状態になる
図2.46Bタイトルを入力する
図2.47Cフォームの任意の部分をクリックすると入力が決定する
AC7G050Z AC7G051Z
AC7H052Z AC7H053Z
AC7H054Z
●文字サイズの変更
ラベルの文字サイズは、プロパティ[フォントサイズ]で指定します。
>操作
図2.48@ラベルを右クリックしてショートカットメニュー[プロパティ]を選択
ア プロパティウィンドウが表示される
A[書式]タブをクリックしてこの一覧を表示する
B[フォントサイズ]欄の[▼]ボタンをクリックしてサイズの一覧から目的のサイズをクリックする
C[×]ボタンをクリックしてウィンドウを閉じる
図2.49ア文字サイズが変更される
AC7H055Z AC7H056Z
AC7G057Z
●入力内容の編集
ラベルに入力した文字列は、編集することができます。
>操作
図2.50@ラベルをクリックして選択状態にする(マウスポインタは通常の矢印)
図2.51アラベルのまわりに■が表示される
Aもう一度ラベルをクリックする(マウスポインタはI型になる)
図2.52イ入力内容の編集状態になる
図2.53B文字列を編集する(ここでは文字間にスペースを入力し、決定は[Enter]キーを押すかラベル以外の部分をクリックする)
図2.54ウ編集した内容が表示される
AC7H058Z AC7H059Z
AC7H060Z AC7H061Z
AC7H062Z
●文字飾りや文字割り付け
太字や斜体などの文字飾りや中央揃えなどの文字割り付けを指定します。文字サイズやフォントの種類なども、プロパティウィンドウを使わずに、ツールバーのボタンで設定できます。
>操作
図2.55@ラベルをクリックして選択状態にする
Aツールボタン(ここでは[中央揃え])をクリックする
図2.56ア中央揃えになる
AC7H063Z
AC7H064Z
●顧客名のうしろ「様」を付ける
テキストボックスで表示している顧客名のうしろに「様」という文字を付けます。タイトルと同じようにラベルをテキストボックスのうしろに挿入して「様」を入力します。文字サイズ(ここでは12ポイント)などは適切な値に設定しましょう。結果を図2.57アに示します。
AC7H065Z
8◆フォームに名前を付けて保存する
ここまでの内容を保存します。フォームを閉じるときに保存確認のメッセージが表示されるので、名前を入力します。
>操作
図2.58@フォームの[×]ボタンをクリックする
図2.59 保存確認のダイアログボックスが表示される
A[はい]をクリックする
図2.60 [名前を付けて保存]ダイアログボックスが表示される
Bフォームを入力する
C[OK]をクリックするとデータベースウィンドウに戻る([フォーム]タブのウィンドウ内にフォーム名が表示される)
ア 作成したフォーム名が表示される
フォーム名は、[ファイル]メニュー→[名前を付けて保存]でも付けることができます。
AC7H066Z
AC7H067Z
AC7H068Z AC7H069Z
AC7H070Z
キーワード
■レコードソース オブジェクト(テキストボックスなど)に表示するもとになるデータ(フィールドや参照式、計算式など)
■テキストボックスコントロール フォーム上などにデータを表示するために使用するコントロール。表示したデータの入力や編集も可能
■ラベルコントロール フォーム上などにタイトルなどの文字を表示するために使用するコントロール。表示したデータの入力や編集は不可
■ツールボックス 標準コントロールをフォームに挿入するための道具箱。画面上の任意の位置に移動できる
■プロパティ[編集ロック] コントロールなどに表示した内容を書き換えられないようにする