☆アクセスの裏技☆チェックボックスを大きくする


すいません! チェックボックスを大きくすることは、実はできません。
ここでご紹介するのは、チェックボックスを大きくするのと同様の結果を得る裏技です。
さらに、もうひとつのすいません!ですが、「レポート限定」です。つまりデータ入力用の「フォーム」には使えませんので、ご注意願います。


How toだけでなく原理とともに説明します。で、よろしければアクセスファイルを一緒に作ってみて実験しながら進めてください。

適当な名前の新しいデータベースを作成し、「デザインビュー」で次のようなテーブルを作成し、チェック2にチェックを入れましょう。

「レポート」を作成します。ウィザードまかせで、単票にしました。「プレビュー」ではこんな感じです。


さて、この「チェックあり・なし」がどういう原理になっているか見てみましょう。

テキストボックスを挿入し、プロパティを表示させます。

「コントロールソース」を「チェック1」にします。同様にもうひとつテキストボックスを挿入して、「チェック2」を指定しましょう。

できたら「プレビュー」してみましょう。


ちょっと判りずらいですか? チェック1が左で、0。チェック2が右で、−1。

つまり「Yes/No型」はYesが−1、Noが0という扱いになっています。
これを踏まえて次の段階に移ります。



チェックボックスを大きくしたい、でも、できない。といことで他の大きくできるものに置き換えます。
この「0」と「−1」を他の文字に置き換えることを考えましょう。
「Yes」「No」、「はい」「いいえ」、「○」「×」、「○」「」←何も表示しない、とかが考えられます。
今回は「○」「×」に置き換えようと思います。
(最終的に、もっとチェックボックスらしくなりますのでご安心を)

上で作ったテキストボックスを加工します。


わかりにくいので、行ごとにまとめました。

まず、ここの追加したテキストボックスの「チェック1」のところに

=IIf([チェック1]=-1,"○","×")

と入力します。(今さっきの「コントロールソース」のとこに入力しても同じです)

ExcelのIfと同じようなもんですが、AccessではなぜかIIfとIが2回です。

意味は、もし「チェック1」の値が−1なら○、そうでなければ×ですよ、という意味です。

=IIf([チェック1]=0,"×","○")でももちろん同じです。

チェック2も同様にします。

=IIf([チェック2]=-1,"○","×")


こんな感じです。



試された方、成功しましたでしょうか?

さて、次はもっと「チェックボックス」に似たようなものに変えていきましょう。Access君は文字には強くないのでWordさんの援助をいただくことになります。
ワードの「挿入」→「記号と特殊文字」をクリックします。



「フォント」は「Windings」です。いちばん下のほうにがありますのでダブルクリックすると、文書に挿入されます。
挿入されたを範囲選択してコピーします。↓アクセスの○のところに貼り付けます。

=IIf([チェック1]=-1,"○","×")

すると

=IIf([チェック1]=-1,"・","×")

と表示されると思います。MSPゴシックに対応するフォントが「・」だからです。「×」は表示させないので、空欄にします。

=IIf([チェック1]=-1,"・","")

これでOKです。同じようにチェック2も処理してください。

次にフォントをWindingsに指定します。チェックボックスを範囲指定して、ツールバーの「フォント」から変更可能です。

なんともすごい文字化けで不安になりますが、プレビューしてみましょう。

だいぶそれらしい形になってきました。後はフォントサイズを調整し、テキストボックスの枠を実線にします。

「境界線スタイル」の箇所で実線を選択し、お好みに合わせて、境界線幅の箇所で太さを選択します。

テキストボックスを正方形にするのは、マウスで大体の形・大きさにしてから、「プロパティ」画面で「幅」「高さ」を入力する方が楽と思います。


フォントサイズ23、太字に設定しました。いかがでしょう?
Windingsのほかにも、Webdings、Windings2、Windings3が絵文字フォントですので、「チェックボックスの再現」にこだわらすに変わったチェックマークを使うのも、場合によってはありかと思います。

こんなんとかどうでしょう?


2004/11/02

home