Access講座 フォーム編

本文へジャンプ


1.フォームとは?


データシートによるデータ入力」で、「テーブルやクエリだけでもデータの入力はできる」という事は説明しました。

ただし、これは、あくまで一時的なものであって、継続的に使っていこうと思うなら、フォームを使うべきです。

では、フォームを使うと、どのような事が出来るのでしょうか?

まず、フォームは大きく「表形式」と「単票形式」に分ける事ができます。
「表形式」とは、データシートと同様に、1レコードを1行に、そして各フィールドを列に、
縦横の一覧形式で表示するものです。
それに対して「単票形式」は、1レコードを1画面に表示します。

●表形式のフォームの例

フォームとは?


●単票形式のフォームの例
フォームとは?


フィールド数が少なくてレコード数が多い場合は、一度にたくさんのレコードが表示できる「表形式」の方が便利ですが、フィールドを横に並べるので表示できるフィールドに限界があります。
(横にスクロールする事はできますが・・・)

「単票形式」は1レコードを1画面で表示するので、他のデータを見るには、ページをめくる必要がありますが、1画面に沢山のフィールドを配置する事が出来ます。


よく使う方法として、
「表形式」で主なフィールドを表示して一覧表示し、そこにボタンを配置し、見たいレコードのボタンをクリックすると、そのレコードの詳細を表示した「単票形式」のフォームを開く
といった具合に、両方の性質の良いところをうまく利用していく事が大切です。

「表形式はデータシートと同様」といいましたが、「それではデータシートと同じでは?」と思われるかも知れませんが、データシートでは設定できない様々な機能がフォームには、あります。

フォームでは、各フィールドごとにフォントの大きさを変えたり、文字の色や文字の背景色を変える事が出来ます。
また、幅や高さ、場所も自由に配置する事ができます。

漢字を入力すると自動的に別のフィールドに、その「ふりがな」が入力される機能や、
郵便番号を入力すると別のフィールドに住所が入力される機能などもあります。

そして、一番大きな点として、
フォームでは、各所にマクロやモジュールを組み込めます。

先程述べた、
「表形式」で一覧表示し、目的のレコードの詳細ボタンをクリックして、そのレコードの「単票形式」のフォームを開く
といった機能も、そのボタンにモジュールを設定する事によって実現できます。

その他、モジュールを組み込む事によって、データの検索や抽出が簡単に使えるフォームを作る事も出来ます。


ただし、次のレコードや前のレコードにデータを移動するといった基本的な機能は、マクロもモジュールも不要ですし、ウィザードを使えば、知識が無くても勝手にモジュールを使用したボタンを作ってくれる機能もあります。

とりあえず、分かる範囲でフォームを作り、必要に応じて少しずつ勉強した分だけ、機能をアップさせる事をお勧めします。




目次


2.フォームとテーブル・クエリの関係


1つのフォームは1つのテーブル・もしくはクエリに対応しています。

具体的に説明します。

フォームのデザイン画面を開き、フォーム左上の フォームとテーブル・クエリの関係 をクリックし、フォームのプロパティを表示します。

フォームとテーブル・クエリの関係


プロパティウィンドウが開いていなければ、メニューバーの
表示 → プロパティ
で、プロパティウィンドウを表示します。
フォームとテーブル・クエリの関係 をダブルクリックしても、プロパティウィンドウは表示されます。

※プロパティウィンドウは、別の場所をクリックすると、別の内容のプロパティが表示されます。フォームのプロパティである事を確認しておきましょう。

フォームとテーブル・クエリの関係

「レコードソース」に表示されているのが、このフォームに対応しているテーブルもしくはクエリです。
右端の▼をクリックすると、テーブルとクエリの一覧が表示されるので、対応したいテーブル・クエリを変更する事が出来ます。

※1つのフォームに複数のテーブル・クエリと対応させる事はできません。必ず1フォームに対し、対応するテーブルもしくはクエリは1つです。
ただし、「どのテーブル・クエリとも対応していないフォーム」というのは、作成可能ですが、そのフォームはデータを見る事も入力する事もできません。
メニュー用のフォームやメッセージを促すだけのフォームなどに使う事は出来ます。

※サブフォームを使った場合は、メインフォーム・サブフォームごとにテーブルやクエリを対応させる事はできます。




目次


3.フォームのコントロール


1つのフォームは1つのテーブル・もしくはクエリに対応している
という事は、「フォームとテーブル・クエリの関係」で説明しました。

では、
テーブルの中の各項目(フィールド)は?
といいますと、フォームに「コントロール」という部品を貼り付ける事によって対応させます。

次の図は「F_社員名簿」というフォームのデザイン画面です。

フォームのコントロール

このフォームは、「クエリによるテーブルの結合」「クエリの結合プロパティ」で作成した「Q_社員名簿」に対応しています。
要するに、このフォームのレコードソースには「Q_社員名簿」が設定されています。

そして、このフォームに貼り付けられている「部署ID」や「部署名」などの四角、これがコントロールです。

コントロールには、色々な種類があり、入力や表示したい内容によって使い分けます。
ここには、「ラベルボックス」と「テキストボックス」の2種類しかありませんが、他にも、よく使うコントロールとして、
「コンボボックス」「リストボックス」「コマンドボタン」「タブコントロール」「サブフォーム」「オプショングループ」
などがあります。

フォームのコントロール

このフォームを実行し、テキストボックスの「部署ID」にデータを入力すると、「Q_社員名簿」の「部署ID」に、そのデータが入力されます。
※「Q_社員名簿」の「部署ID」という事は、実際には、「T_社員名簿」の「部署ID」フィールドにデータが保存される事になります。

他の項目も同様です。




目次


4.ウィザードによるフォームの作成


フォームは、深い知識が無くても、ウィザードを使って簡単に作る事が出来ます。
使いやすく見栄えがよいフォームを作るには、やはり色々な知識を身に付けた方がいいですが、とりあえず、ウィザードを使って、簡単にフォームを作ってみましょう。

「Q_社員名簿」クエリに対応するフォーム、「F_社員名簿」をウィザードを使って作ってみましょう。


まず、フォームの「新規作成」をクリックします。

ウィザードによるフォームの作成


「フォームの新規作成」ウィンドウが表示されるので、「フォームウィザード」を選択し、「基になるテーブルまたはクエリの選択」に「Q_社員名簿」を選択し、「OK」ボタンをクリックします。

ウィザードによるフォームの作成


左側の「選択可能なフィールド」には、基になるテーブルまたはクエリの全フィールドが表示されます。

今回、作成するフォームに使うフィールドを選択し、 ウィザードによるフォームの作成 をクリックすると右側の「選択したフィールド」に、そのフィールドが移動します。

ウィザードによるフォームの作成 をクリックすると、すべてのフィールドが「選択したフィールド」に移動します。

今回は、全てのフィールドを選択し、「次へ」をクリックします。


ウィザードによるフォームの作成


フォームのレイアウトを選択します。
今回は、「単票形式」を選択し、「次へ」をクリックします。

ウィザードによるフォームの作成


フォームをどのようなデザインにするか選択します。
最初のうちは、派手なデザインを選ぶ方が多いですが、フォームは毎日、長時間見る事になるので、飽きが来なく、目も疲れにくいのは、単純な灰色の背景の「標準」がお勧めです。

ウィザードによるフォームの作成


フォーム名を指定し、「完了」ボタンをクリックし、完成です。

ウィザードによるフォームの作成


完成したフォームを実行すると、このようになります。

ウィザードによるフォームの作成

フォーム下部の ウィザードによるフォームの作成 をクリックすると次のレコードに移動します。

ウィザードによるフォームの作成 をクリックすると、1つ前のレコードに移動します。

ウィザードによるフォームの作成 をクリックすると、最終レコードに移動します。

ウィザードによるフォームの作成 をクリックすると、最初のレコードに移動します。

ウィザードによるフォームの作成 をクリックるすと、新規レコードに移動します。




目次


5.手動でのフォームの作成


ウィザードを使って、フォームが簡単に作成できる事は分かって頂けたと思います。

ただ、フォームは、非常に奥が深く、様々な機能を付加する事が出来ます。
ウィザードを使ってフォームを作っただけでは、まだ、フォームの全体像は把握出来ないと思います。

そこで、ウィザードを使わず、手動でフォームを作ってみましょう。

ウィザードによるフォームの作成」で作った「F_社員名簿」、これを今度は手動で作ってみましょう。



まず、フォームの「新規作成」をクリックします。

手動でのフォームの作成



「フォームの新規作成」ウィンドウが表示されるので、「デザインビュー」を選択し、「基になるテーブルまたはクエリの選択」に「Q_社員名簿」を選択し、「OK」ボタンをクリックします。
※「基になるテーブルまたはクエリの選択」は、ここで選択しなくても、フォームのデザイン画面を開いた後に、フォームの「レコードソース」プロパティを設定しても構いません。

手動でのフォームの作成

白紙のフォームのデザイン画面が表示されます。

そして、「基になるテーブルまたはクエリの選択」で選択したテーブル・クエリ(この場合なら「Q_社員名簿」)のフィールドリストが表示されます。
※もしも、表示されていないなら、メニューバーの「表示→フィールドリスト」で表示されます。


手動でのフォームの作成



フィールドリストから、フィールドをフォーム上にドラックすると、フォームにラベルボックスとテキストボックスが貼り付きます。

手動でのフォームの作成

このようにして、必要なフィールドをドラックしてフォーム上に貼り付けていけば、手動でフォームを作成する事が出来ます。




目次


6.コントロールの選択方法


※この内容は、フォームだけではなく、レポートでも同様です。

フォーム全体のプロパティを表示する場合、フォーム左上の コントロールの選択方法 をクリックし、 プロパティウィンドウが開いていなければ、メニューバーの「表示 → プロパティ」で、プロパティウィンドウを表示する。
という事は、「フォームとテーブル・クエリの関係」で説明しました。

引き続き、各コントロールのプロパティを設定するには、各コントロールをクリックします。そうする事によって、そのコントロールを選択した事になり、プロパティウィンドウには、そのコントロールのプロパティが表示されます。

コントロールを1つずつ選択する場合は、このように、そのコントロールをクリックすればいいのですが、
プロパティの各項目について、同じ内容を設定したい場合、複数のコントロールを選択してから設定すると、一度に複数のコントロールのプロパティを設定する事が出来ます。

そこで、複数のコントロールを選択する方法を幾つか説明していきましょう。

@まず、最初の方法として、「Shift」キーを押したまま、各コントロールをクリックしていきます。そうすると、クリックしたコントロールが次々と選択されたままになって複数のコントロールが選択された状態になります。

A次に、マウスで範囲選択する方法があります。

コントロールの選択方法


このようにマウスをドラッグすると、この場合でしたら「社員ID・部署ID・部署名」の各ラベルボックスとテキストボックスが選択されます。


コントロールの選択方法

例えば、複数のコントロールが選択された状態で、図のように「前景色」を「255」(赤)に設定すると、

コントロールの選択方法

このように、選択されたコントロールの「前景色」(文字)が全て、赤になりました。

ドラックする時、コントロールのある場所から開始しようとすると、範囲選択ではなく、そのコントロールを移動する事になってしまうので、コントロールが無い場所からドラッグを開始しましょう。

この方法は、コントロールにドラッグの範囲が少しでも、かかっていれば選択される事になりますが、これは、規定値であって、
完全にドラッグの範囲に入っているコントロールが選択される
という設定も出来ます。


【Access2000の場合】
メニューバーの「ツール→オプション」をクリックし、「フォーム/レポート」タブをクリックし、
「ドラッグによるコントロールの選択」で、
「一部を囲んだときに選択」と「全体を囲んだときに選択」
を切り替えます。

コントロールの選択方法



【Access2007の場合】
「Office」ボタン・「Accessのオプション」をクリック、「オブジェクトデザイナ」の「ドラッグによるコントロールの選択」で、
「一部を囲んだときに選択」と「全体を囲んだときに選択」
を切り替えます。

コントロールの選択方法


この「マウスでドラッグする」方法は、コントロールのある場所からドラッグしようとすると、そのコントロールを移動する事になってしまうので、フォーム上にコントロールがびっちり配置されていて余白が無い時には向いていません。

B最後に、フォームの「ルーラー」をドラッグする方法を説明します。
ルーラーとは、次の図のように「垂直」と「水平」があり、フォームの目盛のようなもので、もし、表示されていなければ、
メニューバーの「表示→ルーラー」をクリックすると表示されます。

コントロールの選択方法


このルーラーの部分を垂直ルーラーなら垂直方法に、水平ルーラーなら水平方向にドラッグすると、その部分にかかっているコントロールが選択されます。

コントロールの選択方法



たかが「コントロールの選択方法」に時間をかけて説明しましたが、フォームの作成は、「コントロールを配置して、プロパティの設定」の繰り返しに、かなりの時間を費やしますので、こうした、ちょっとした操作を効率的に行う事が全体的な生産効率に影響します。

それぞれの方法を必要に応じて使い分けましょう。




目次


7.簡単にきれいにコントロールをそろえるには


※この内容は、フォームだけではなく、レポートでも同様です。

フォームにコントロールを配置していくと、きれいにそろえるには時間がかかります。

適当にすると、次のようにサイズも位置もバラバラになってしまいます。

簡単にきれいにコントロールをそろえるには

別に機能的には問題無いとはいうものの、これではちょっと不細工で気なると思います。

かと言って、マウスで丁寧にそろえて行こうとすると時間がかかりますし、それでも「本当にまっすぐにそろえる」というのは困難です。

そこで、綺麗に、しかも簡単にコントロールをそろえる方法を説明していきたいと思いますが、それには何ヶ所か、設定をする必要があります。

まず最初に、フォームのデザイン画面で、メニューバーの「書式→グリッドに合わせる」をクリックし、チェックが入った状態にします。

簡単にきれいにコントロールをそろえるには

この「グリッドに合わせる」をチェックが入った状態にする事によって、コントロールを移動した時やサイズを変更した時に、グリッドに吸い付くように、グリッド毎に動くようになります。

尚、コントロールの移動は、コントロールをクリックし、マウスが手のひらの形になる状態でドラッグします。

コントロールのサイズを変更するには、コントロールを選択し、上下左右のハンドルをドラッグします。

簡単にきれいにコントロールをそろえるには


これで、簡単にきれいに、そろえられるようになったでしょうか?

実際には、今までとあまり動きは変わらないのではないでしょうか?

そもそも、グリッドは、この時点で表示されているのでしょうか?

グリッドの表示・非表示は、メニューバーの「表示→グリッド」をクリックし、チェックを入れた状態で表示されます。

実は、上図の状態はグリッドが表示された状態であって、このチェックをはずすと、1cmm角のマス目の線が消えてしまうと思います。実は、このマス目もグリッドの一部だったのです。

それでは、何故、このマス目毎に動いてくれないのでしょうか。
それはグリッドの間隔の設定によるのです。

グリッドの間隔は、フォームごとに設定できるようになっていて、1cm角に縦横、それぞれ何分割するかを指定します。その規定値は「10」になっていて、縦横、それぞれ9以下にしないと細かすぎて、グリッドが表示されないのです。

つまり、「グリッドに合わせる」をチェックを入れた時点から、実はグリッドに合わせて動くようになっていたのですが、10分割だと細かすぎて、その動きが分かりにくい上に、グリッドの表示もされないので、その事に気が付きにくいのです。


では、このグリッドの設定を変えてみましょう。

まず、フォーム全体のプロパティを表示し(フォームとテーブル・クエリの関係参照)、
「X軸グリッド数・Y軸グリッド数」を共に、「4」としてみましょう。
X軸とは横方向、Y軸とは縦方向の事です。

簡単にきれいにコントロールをそろえるには


このように、マス目ごとに4つずつのグリッドが表示されました。

簡単にきれいにコントロールをそろえるには


この状態で、コントロールを移動したりサイズ変更してみて下さい。
今度は、このグリッドに吸い付くように動いてくれると思います。


「X軸グリッド数・Y軸グリッド数」の数字を小さくする=グリッドの間隔を広くとる
という事になりますが、グリッドの間隔を広くすると、
コントロールの位置やサイズを揃えるのが簡単になりますが、その分、微妙な調整が出来なくなります。

逆に、
グリッドの間隔を狭くすると、微妙な調整が出来るようになりますが揃えるのが大変になります。

フォームの状況にもよりますが、今までの経験上、
「X軸グリッド数」は、ある程度、広めにとっても、あまり問題がありません。「4」くらいで十分だと思います。
「Y軸グリッド数」は、余裕があるフォームなら、X軸と同様に「4」くらいで問題ありませんが、スペースに余裕が無い場合や帳票形式のフォームでは、微妙にサイズを変えたい場合も結構出てきます。
状況に応じて「4〜8」くらいが妥当だと思います。

さて、これで、かなりコントロールの位置やサイズを揃えるのが楽になったと思いますが、それでも、バラバラに配置されているコントロールを1つずつ調整するのはめんどくさいものです。

続いて、コントロールを全て選択した状態で、
メニューバーの「書式→サイズ変更→グリッドに」をクリックします。

簡単にきれいにコントロールをそろえるには


これで、選択されたコントロールは、全て、一番近いグリッドに位置、サイズ、共に変更されました。

簡単にきれいにコントロールをそろえるには

コントロールのサイズを変えずに配置だけをグリッドに合わせたい場合は、
メニューバーの「書式→配置→グリッド」
をクリックします。

更に、複数のコントロールの縦方向・横方向の位置を揃えたい場合は、複数のコントロールを選択した状態で、
メニューバーの「書式→配置→左・右・上・下」を必要に応じてクリックします。

このあたりは、実際にやってみた方が分かりやすいと思います。
試してみて下さい。

これで、フォーム作成の生産効率は、ぐっと上がると思います。

尚、今回の操作方法は、Access2003までを想定していて、Access2007からは、メニューバーの替わりにリボンで操作する事になりますが、access2007の場合、リボンの「配置」に今迄、説明してきた機能は、ほとんど集中しています。
名称も変わらないので、すぐに分かると思います。

【Access2007の場合】
簡単にきれいにコントロールをそろえるには




目次


8.テキストボックスとラベルボックスの関連付けを切断するには


※この内容は、フォームだけではなく、レポートでも同様です。

フォーム上に、テキストボックスを配置すると、自動的にラベルボックスも作成されます。

この時のテキストボックスとラベルボックスは、関連付いていて、マウスが手の開いた形状で、どちらかのコントロールをドラッグすると、もう一方もついてきます。

単独で移動するには、マウスでコントロールをクリックした後、左上でマウスが、人差し指が伸びた形状でドラッグする必要があります。

テキストボックスとラベルボックスの関連付けを切断するには

また、テキストボックスを消去すると、ラベルボックスも同時に消えてしまいます。

このように、テキストボックスとラベルボックスが関連付けられた状態は、結構、うっとうしいもので、何故、この機能があるのか、私個人としては、その意味が理解出来ません。

そこで、このテキストボックスとラベルボックスの関連付けを切断し、単独のテキストボックスとラベルボックスにする方法を説明します。

まず、ラベルボックスを右クリックします。
メニューが表示されるので、「切り取り」をクリックします。

これでラベルボックスが一旦、消去されます。

そして次に、フォームの「詳細」を右クリックし「貼り付け」をクリックすると、先程、消去されたラベルボックスが再度、表示されます。

これで、テキストボックスとラベルボックスの関連付けは切断され、それぞれ、単独のテキストボックスとラベルボックスになりました。

テキストボックスとラベルボックスの関連付けを切断するには

尚、テキストボックスの方を切り取ると、ラベルボックスも同時に切り取られてしまうので、ラベルボックスの方を切り取る必要があります。


あまり必要性を感じた事はありませんが、逆に、単独のテキストボックスとラベルボックスを関連付ける事もできます。

その場合の操作は、今迄の説明の逆で、一旦、ラベルボックスの「切り取り」をした後、「詳細」ではなく、関連付けたい「テキスト」ボックスを選択した状態で、「貼り付け」をします。





目次


9.テキストボックス作成時にラベルボックスを作成しない設定にする


※この内容は、フォームだけではなく、レポートでも同様です。

テキストボックスとラベルボックスの関連付けを切断するには」で、テキストボックスとラベルボックスの関連付けを切断する方法は説明しましたが、元々、
テキストボックスを作成する時にラベルボックスが自動的に作成される事自体が不必要
と思われる方もいるでしょう。

実は、
テキストボックスを作成する時に、自動的にラベルボックスを作成しない
という設定をする事が出来るのです。
その設定方法を説明します。

フォームのデザイン画面で、プロパティウィンドウが表示された状態で、ツールボックスの「テキストボックス」をクリックします。

※ツールボックスが表示されていなければ、メニューバーの「表示→ツールボックス」をクリックして表示します。
テキストボックス作成時にラベルボックスを作成しない設定にする


この状態でのプロパティは、「既定のテキストボックス」となっています。

テキストボックス作成時にラベルボックスを作成しない設定にする


このプロパティの中に「ラベル自動作成」という項目があり、これを「いいえ」にします。
これで、テキストボックスを作成時にラベルボックスが作成されないようになります。





目次


10.テキストボックスとラベルボックスの装飾に関する設定


※この内容は、フォームだけではなく、レポートでも同様です。

テキストボックス・ラベルボックスの文字の大きさや背景色などの装飾は、直接、機能的には関係ありませんが、
フォームやレポートを見易すく・分かりやすくする
という事は大変重要です。

Accessでは、フォームやレポートのテキストボックスやラベルボックスには、装飾に関する、様々な設定をプロパティウィンドウで出来るようになっています。

きめ細かな設定が出来るというのは、それはそれで有難い事ですが、あまり細かく設定し過ぎると、それだけで時間がかかりますし、細かすぎて統一性がとれないと逆に見にくくなってしまいます。

ポイントになる点だけを設定して、後は規定値のまま
とした方が分かりやすくシンプルな画面を作る事が出来ます。

そういった点を考慮しながら、装飾に関する設定について説明しますが、かなり個人的な見解が混じっています、ご了承下さい。



【立体表示】
立体表示をするか?しないか?、立体表示するとしたら「くぼみ」か?「浮き出し」か?
選択できます。
.テキストボックスとラベルボックスの装飾に関する設定

その他にも「枠囲み・影付き」などがありますが、個人的には、立体表示「なし」をお勧めします。

スペースが無く、コントロールとコンロトールをくっつけた時、立体表示にしていると、コントロールの重なりがどちらが上かで見た目が変わってしまうので調整しないといけないし、「なし」がシンプルで見やすいと思います。
「立体表示」を「なし」にすると【境界線色】が有効になり、枠の色を指定できます。「黒」か「灰色」くらいでいいのではないかと思います。


【背景色】
テキストボックスの背景色は、
入力する項目は「白」、表示するだけで入力出来ない項目は「灰色」
など、決めておくと使いやすくなります。
ラベルボックスの背景色は、内容によって色分けしてもいいでしょう。
文字の色である【前景色】は、背景色が濃い色の時は「白」にするとか、見やすいようにしましょう。

【フォント名】
あまり多様しない方がいいです。フォームなら1種類、レポートの場合は、強調したい場合やタイトルはゴシック体、それ以外は明朝体の2種類くらいまででいいと思います。
特殊なフォントを使うと、別のパソコンで使った時に、そのパソコンにそのフォントが無いと、思いと違うフォントになってしまうので、「MS明朝」など標準的なフォントを使った方が無難です。
尚、「MSP明朝・MSPゴシック」などは「プロポーショナルフォント」と呼ばれ、文字によって幅が異なりますので、その点、把握した上でご使用下さい。

【フォントサイズ】
使用者に年配の方がいる場合は、小さすぎると使い辛いので、そういう場合は10〜12ポイントくらいにしておきましょう。

【文字配置】
規定値は「標準」となっていますが、これは、
「そのフィールドが文字型の場合は左揃え、日付型・数値型の場合は、右揃え」
という設定です。

数値型の場合、特に数量や金額は「右」にすべきですが、
文字型の場合は「左」か「中央」か?
などについては、
単票形式か帳票形式か?
ラベルボックスかテキストボックスか?

といった違いも考慮し、個人の感覚で決める事になりますが、自分なりの規則(ラベルボックスは全て「中央」にするとか、日付型は「左」にするなど)は、作っておいて、システム全体で統一させた方がいいでしょう。


主に設定するのは、このくらいでいいと思います。

.テキストボックスとラベルボックスの装飾に関する設定

.テキストボックスとラベルボックスの装飾に関する設定


「上下左右の余白」も、普通は0cmのままでいいと思いますが、レポートの場合は、体裁にこだわると、ここも細かく設定する場合も出てきます。

フォームやレポート、コントロールは、
以前に作成した似たようなものをコピーしながら新しいものを作っていく
事が多いと思います。

あまり、細かく設定し過ぎると、そういった場合にも手間がかかったり、統一がとれなくなってしまうので、なるべくシンプルにしておいた方がいいと思います。




目次


11.テキストボックの入力を「可能」とするか「不可」とするか?


フォームにテキストボックスを配置する場合、「データを入力する為の項目」もあれば、「データは入力できない表示のみ」の項目も必要な場合もあると思います。


「表示のみ」としたい項目の中には、「データを入力しようと思っても入力できない」場合もありますが、
入力しようと思えば出来るが、入力できないようにしておきたい
という場合もあると思います。

この、「入力できないようにしておきたい」為に、テキストボックスには、データ入力する事を「可能」とするか「不可」とするか?を設定する項目がありますが、その項目は「使用可能」と「編集ロック」の2つがあります。

この2つは、
「使用可能」を「いいえ」にすると、カーソルすらその項目におく事ができず、その内容をコピーする事も出来ない
のに対し、
「編集ロック」を「はい」にすると、カーソルをその項目に持っていく事・その内容を選択してコピーする事は可能だが、データを入力する事はできない
という違いがあります。
※「使用可能」は「いいえ」にすると「使用不可」になるのに対し、「編集ロック」は「はい」にすると「使用不可」になる点もご注意下さい。

ただ、この2つの項目は、その違いだけではなく、2つの項目の設定の組み合わせによって、次のような状態になります。

 使用可能 編集ロック  内容 
 はい いいえ  通常通り、入力する事ができる。 
 はい はい   カーソルをその項目に持っていく事・その内容を選択してコピーする事は可能だが、データを入力する事はできない
 いいえ いいえ   カーソルすらその項目におく事ができず、その内容をコピーする事も出来ない
前景色・背景色は、灰色に表示される
 いいえ  はい カーソルすらその項目におく事ができず、その内容をコピーする事も出来ない
前景色・背景色は、そのコントロールの設定による。
 


つまり、「使用可能」を「いいえ」にすると「編集ロック」より優先されるので、「編集ロック」が「はい」でも「いいえ」でも、使用不可となるのですが、その場合、
「編集ロック」が「いいえ」だと、いくら前景色や背景色を設定しても、その内容は無視され、次のような灰色表示になってしまうのです。

また、「ラベルボックス」を関連付けていると、ラベルボックスの文字も同様に淡い灰色になってしまいます。
テキストボックスとラベルボックスの関連付けを切断するには

.テキストボックの入力を「可能」とするか「不可」とするか?

「背景色」が灰色で表示されるのは問題無いのですが、「前景色」(文字)が、この淡い灰色が、使用者から「見づらい」と評判がよくありません。

ですから「使用可能」を「いいえ」にする場合は、同時に「編集ロック」を「はい」にして、改めて、「背景色」・「前景色」を設定する事をお勧めします。

.テキストボックの入力を「可能」とするか「不可」とするか?


.テキストボックの入力を「可能」とするか「不可」とするか?


尚、この内容は「テキストボックス」だけではなく、「コンボボックス」や「リストボックス」でも同様です。
「コマンドボタン」には、「編集ロック」のプロパティはありません。
「チェックボックス」には「使用可能・編集ロック」両方のプロパティがありますが、「チェックボックス」そのものに文字は無く、見やすい・見づらいもありませんので、「ラベルボックス」と関連付けをしていなければ、「使用可能=いいえ・編集ロック=いいえ」でも構いません。






目次


12.日付型の書式プロパティの設定


テキストボックスやコンボボックスには、「書式プロパティ」があります。

これは、
そのコントロールをどのように表示するか
設定するもので、Exceなら「セルの書式設定」の「表示形式」に該当するものです。

全てのコントロールに必ず設定しなければいけない訳ではありませんが、「日付型・数値型」の場合には設定する事をお勧めします。

まず、日付型についてですが、
日付型のコントロールの「書式プロパティ」の右端の▼をクリックすると、次のように、日付・時刻、それぞれ表示形式の一覧が表示されます。

日付型の書式プロパティの設定

この項目が「時間は不要で日付のみ」の場合でしたら、
「日付(L)・日付(M)・日付(S)」の中から選ぶ事になりますが、このコントロールが表示専用なら、どれでも構いませんが、入力するのであれば、入力する時と表示される時と、同じ方が使いやすいので、「11/03/16」のパターン、「日付(S)」を選ぶべきでしょう。

ただし、この場合、注意が必要で、実は、「日付(S)」がどのような表示形式かは、Windowsの設定によって変わってしまうのです。

WindowsXPの場合でしたら、「コントロールパネル→地域と言語のオプション」を開き、「地域オプション」タブの「カスタマイズ」をクリックします。

日付型の書式プロパティの設定



「日付」タブの「短い形式」で設定します。

日付型の書式プロパティの設定


実は、この「短い形式」の規定値がWindows2000は「11/03/16」のパターンだったのですが、WindowsXPでは「2011/03/16」になっていました。


WindowsXPが出た当時、
それまでWindows2000でちゃんと「11/03/16」と表示されていたのに、WindowsXPに移行すると「2011/03/16」と表示されるようになってしまった。
という事がありました。

そうなると使うパソコン1台ずつ、上記の「地域のオプション」を設定しなければなりません。

そのようにOSに依存しないようにするには、書式プロパティで「日付(S)」を選択するのではなく、
カスタム書式の設定
要するに、自分でもっと細かく書式を設定する事が出来ます。

この場合なら、直接「yy/mm/dd」と入力します。
こうしておけば、OSの設定に関わらず、「11/03/16」と表示されます。


また、和暦表示したい場合は、「gee/mm/dd」と設定すれば、「H23/03/16」といった具合に表示されます。
ただし、和暦は、いつ変更されるか分かりませんし、変更された際、Accessのシステムに依存されている為、マイクロソフトが対応してくれない限り、新しい元号では表示されません。

特に古いバージョンのAccessを使っておられる方は対応してくれる保証はありません。
余程の理由がある場合以外、和暦は使用しない事をお勧めします。
※社員名簿の生年月日の場合などは、新しい元号を入力する必要が生じるのは、「生まれた子が20歳近くになる時」という事になるので、あまり問題する必要はありませんが・・・





目次


13.数値型の書式プロパティの設定


「日付型」と共に「書式プロパティ」を必要とするパターンとして「数値型」があります。

3桁ごとのカンマ区切り
小数点以下の表示
通貨記号(\)の表示

等をどのように表示するか?
という事ですが、

数値型の書式プロパティの設定

書式プロパティで、
数値・・・入力したそのままを表示します。
通貨・・・通貨記号を表示し、3桁毎にカンマ区切りで表示されます。
固定・・・「小数点以下表示桁数」で設定した桁数で表示します。
標準・・・3桁毎にカンマ区切りで表示されます。

等の中から選択します。


ただし、このリストの中からの選択ですと、「日付型の書式プロパティ」の設定と同様に、Windowsの設定に依存しますし、また、もっと細かく設定したい場合もあります。

例えば、
14,223.23
というように、
3桁毎にカンマ区切り・小数点以下2桁
で表示したい場合、
書式・・・標準
小数点以下表示桁数・・・2

と設定すればよい訳ですが、このままの設定ですと、
0の場合も、0.00
と表示されます。

0の場合は、0と表示したい
という場合は、どうすればいいでしょう?

こういった場合も、「日付型」の場合と同様にカスタム書式を使用します。

まず「3桁毎にカンマ区切り・小数点以下2桁」の設定は、
#,##0.00
とします。「#」は0の場合は表示されません。
ただ、このままでは、やはり0の場合0.00と表示されてしまうのですが、数値型のカスタム書式では、セミコロン( ; )で区切って、
正の数値の書式;負の数値の書式;0の書式;Null 値の書式
と設定する事が出来ます。

具体的には、
#,##0.00;-#,##0.00;\0;""
とします。

入力された数値が、
正の場合は「#,##0.00」
負の場合は「-#,##0.00」
0の場合は「\0」
何も入力されていない場合は「""」
の書式設定が有効になっています。

尚、0の場合の「\0」の「\」は、「その後に続く1文字をそのまま表示する」という意味です。

更に、
数値が負の場合は赤字で表示したい
という場合には、
#,##0.00;-#,##0.00[赤];\0;""
とします。


数値型の書式プロパティの設定



※条件によって、文字の色を変えたり、背景色を変えたいなど、もっと細かく設定を変えたい場合は、「条件付き書式」を利用します。




目次