| <HOME <お願い事項 <Access2002 TOP <Access97 TOP <サイト内検索 | ||
| MS-Access2000超入門部屋--用語集を作ってみる | ||
| 1 > 2 > 3 | ||
こんな感じで、[用語]だけを表示する表形式のフォームを作ってみてください。

フォームウィザードで、[用語]だけ選べば簡単に作れますよね。フォーム名は[用語一覧]という名前にしました。
たぶん、フォームウィザードで簡単に作っただけだと、テキストボックスの「スクロールバー表示」の書式が「あり」になってると思いますが、スクロールバーはなくってもいいと思います。
その他、フォーム全体はテキストボックスのプロパティ等々、いろいろ変更して整えてみてください。
お任せしますが、わたしはいちおう、このフォームから新規に入力したり編集したりするのをやめようと思いますんで、
フォーム全体のプロパティ = データプロパティの「追加の許可」を「いいえ」
フォーム全体のプロパティ = 書式プロパティの「レコードセレクタ」や「移動ボタン」を「いいえ」
[用語]テキストボックスのプロパティ = データプロパティの「使用可能」を「いいえ」 「編集ロック」を「はい」
としてみました。
後は色とか適当に変えて見やすいフォーム作ってみてください。たいていのことはプロパティあちこち覗いてれば設定できますもんね。
わたしのはこんな感じになりました。

なんか、ちゃんとアイウエオ順になってないとこが気持ち悪いですけど・・・。今日はこれで勘弁してください。
このフォーム上で、「あ行」のものだけの表示に絞込みができるようにしようと思います。
どういう感じにしようかなーと思ったんですけど、どうしましょうかねぇ。
検索用のフィールドをばっちり設けてますから、そんな難しい絞込みをしなくてもいけると思うんですけど・・・。
ちょっと面倒ですけど見栄えもかっこいいし、オプショングループでやってみましょうか。
フォームヘッダーのところをちょっと広げて、適当な大きさのフレームをひとつ作ってください。

後で調節しますから、適当でいいですよ。
わたしのは[フレーム2]って名前になりました。このまんまでいいや。
フレームの中に、↓トグルボタンを作りましょう。

(オプションボタンでもよいですがこの場合はトグルのが見栄えがいいかも)
ええと、あかさたなはまやらわ記号・・・11個必要ですな。
そろえるの大変ですよね・・・。微妙にずれちゃったりするかも。
下の図のような感じで、そっとドラッグすると、全部のトグルボタンにハンドルがつくと思います(微妙な操作なんですけど)。その状態で、メニューバーの[書式]→[サイズ変更]([配置])で、グリッドにあわせるようにしながら、そろうように調節していってください。

ふう。苦労の甲斐あってなんとかそろいました。
左上の「フレーム2」っていうラベルは、なくてもいいかなと思いますんで、ラベルだけクリックしてDeleteキー押しちゃってください。

オプショングループの細かい設定等々は、別のコーナーでも解説してますんでそちらもお読みいただけるとうれしいです。
とりあえず、各トグルボタンの「オプション値」がそれぞれ何番になっているか、ざっと確認してください。通常は「フレーム内に作成した順」につくようになってます。

フォームビューに切り替えて、↓ちょっとクリックしてみると・・・どれか1個がへっこむようになりますよね。

でもまだへっこむだけですよ。何も起こらないです。あたりまえですが。
次に、フレーム内のどれかをクリックしたら絞込みをするような仕組みを作ります。
マクロかコードを作ることになるわけなんですが、今日は手軽にフィルタという機能を使おうと思います。なので、マクロよりコードの方がはるかに簡単です。
こんなふうに、ひとつのフォームの中でのこまごました処理は、マクロで作ろうとするとものすごく大変です。できない、っていうわけじゃないので誤解のないようにお願いしますね。でも、何も難しいやり方から挑戦しなくてもよさそうなもんじゃありませんか。
クリック時のイベントを作りますんで、右端のビルドボタンをクリックしてください。フレームの、クリック時のイベントですよ。

まずは基本的なところから・・・。
「検索用のフィールドが あ のレコードだけに絞りなさい」という命令を下します。
具体的にはFilterというフォームのプロパティに条件式を代入するという操作になります。
ではやってみましょう。
条件式は文字として渡すのがならわしなので、ダブルコーテーションでかこってやります。。。
こういうのはいちいち書かなくてもみなさんオッケーでしょうか???
「こういうのよくわからなくて・・・」という人は、最初に下のようにダブルコーテーションだけ書いてしまいましょう。
で、中に式を書いていけばいいですよね。

[検索用]はテキスト型のフィールドなんで、こんなふうに‘’(半角シングルコーテーション)で囲みます。

で、このフィルタを実行して絞りこめ!という命令↓を継ぎ足します。

さあ、これでどうかなー。

たぶん、まだ、どのボタンクリックしても結果が同じだと思うんですけど、とりあえず「あ行」のものだけになりました?
なんでどのボタンクリックしても結果が同じだかは、わかりますよね???
ここで「なんでか行のものが出てこないの???」なんて悩んじゃう人は妖しい人ですよ。
後は、11個のボタンどれをクリックしたらどう絞り込むか、11パターンの条件分岐をしてやるわけなんですがSelectCaseという構文を使います。
あ行のときって、「あ」のトグルボタンをクリックしたときですよね。
「あ」のトグルボタンのオプション値はいくつでしたか?「か」のトグルボタンは?「さ」は?
「オプション値ってなに?」って言う人は、このページのずっと上の方にスクロールして戻って戻って。
「オプション値」ポイントになります。じゃ、さっき作った「フレームのクリック時のイベント」に書き足していきましょう。
まずは2択で・・・。
あ行とか行の2パターン作ってみましょう。

書き終わったらいちおう保存して、フォームビューに切り替えて試してみてください。
「あ」のボタンと「か」のボタンを交互にクリックしてみて・・・絞り込まれます?
そしたらもう、あとは、必要な分だけパターンを追加するのみです。

これでオッケーかな。
何回かテストして試してみてくださいね。