![]() |
||
<HOME <お願い事項 <Access2002 TOP <Access97 TOP <サイト内検索 | ![]() |
|
![]() |
||
MS-Access2000超入門部屋--無理やりシマシマフォームを作る |
もっと派手な色にした方が良かったかしら・・・でも、まあ、なんかシマシマっぽく見えますでしょう?
でもねぇ。レコード移動ボタン見てください。「全部で25レコード」って出ちゃうんですよね。そりゃそうですよね。[クエリ3]には、もとのテーブルの半分のレコード件数になってるはずですもんね。うーん。レコード移動ボタンは隠したほうがよさそうだな。
じゃあ、Dcount関数を使って、基のテーブルのレコード件数を直接数えようかな。
こんな感じで、件数が出ます。
ふう・・・。
・・・あれ?51人いるはずなのに、50までしか出てない・・・なんで?
これはですねぇ・・・。とりあえず、基になるクエリを確認しましょう。
とりあえず、このクエリ、ふたつのクエリを基にしてますよね。
それじゃあふたつのクエリの中身を確認してみましょうか。
奇数の方が26件、偶数の方は25件です。
左の方には51という番号のレコードがありますが、右にはありませんね。
このふたつのクエリは、[クエリ3]の中でどういうふうに結びついているかというと、[番号]というフィールド同士。では、間の「結合線」をダブルクリックしてみましょう。
つまり、「ふたつのクエリ両方に存在するレコードだけを出すようにしますよ」っていう結合方法なんです。
「単純結合」ってやつなんですよ。だから、左側にしか存在しない「番号51」は、出てこなくなっちゃうんですね。
結合の仕方を、左側のクエリの方主体のものに変えましょう。
結合線の様子がちょっとだけ変わると思います。矢印がつきますよね。確認してくださいね。
そうすると、こうなります。
ハハハ。そうすると、出す必要のない「52件目用のテキストボックス」も当然出ちゃいますよね。
うーん、これくらいが潮時かなぁ・・・。
フォームにしてもレポートにしても、「出力したいフォーマット」ってものがそれぞれ皆さんあると思うんですが、時としてこんなふうに、かなり無茶をしないといけない場合があるんですよ。問題は、「どうしてもやる」か「他の方法を考える」か「根本的に見直す」か、どうするかを皆さんご自身が判断しなくてはならないってトコです。
シマシマフォームは、やめましょう。
背景色はあきらめて、テキストボックスの背景色や文字色だけでよければ、Access2000には「条件付の書式」という機能があるので、これを利用すれば多少、思ったような色分けをしていくことができるでしょう。
でも、その場合でも「基になるテーブルの中に、何かしら判断のためのデータ」がなければなりません。
フォームもレポートも、「基になるテーブルの中のデータを出すための枠に過ぎない」ということを、忘れてはならないですよ。
Accessの各オブジェクトのメリット、データベースというものの役割に対する理解を深めて、これらを逆にうまいこと利用してやろう、くらいの心構えで使い込んでいってくださいね。表計算ソフトの使い勝手のよさにとらわれて、Accessを「ますます難しいもの」にしては、いけませんですよ。
(オシマイ)
![]() |
![]() |