プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっています。
AccessのテーブルにあるYes/No型のデータをもとにして、レポートを作りたいと考えています。

使用者名 | 午前 | 午後 | 夜間 |
_____________________
佐藤さん |  レ |    |  レ |
_____________________
鈴木さん |    |  レ |  レ |
_____________________
山田さん |  レ |    |    |

上記のようなテーブルのデータを元に

佐藤さん  午前 夜間  施設利用

鈴木さん  午後 夜間  施設利用

山田さん  午前     施設利用

というようなレポートを作りたいと思います。
Yes/No型のデータから、そのデータのフィールド名をテキストとして取り出す方法を教えてください。
実際のテーブルには、フィールドが30以上あるので
レポートではYesの部分だけをテキストとして取り出し、
見やすいレポートにしたいのです。

どうぞよろしくお願いします。

A 回答 (2件)

クエリを作ってそのクエリを元にレポートをつくって


午前:IIf([午前]=True,"午前","")
のようにすればチェックされていれば午後と表示されチェックされていなければ空白になります。
または
テーブルを元にレポートを作成しレポートにテキストボックスを配置しコントロールソースに同様に
=IIf([午前]=True,"午前","")
とすれば同じことができます。
    • good
    • 0
この回答へのお礼

うまくいきました。ありがとうございました。よろしければもう1つ教えてください。チェックがあった場合、レポート上の指定の部分に「利用」等の文字を書く込ませるにはどうすればよいか教えてください。
よろしくお願いします。

お礼日時:2006/04/20 13:38

>チェックがあった場合、レポート上の指定の部分に「利用」等の文字を書く込ませるにはどうすればよいか



色々方法はありますが。
#1の回答の「テキストボックスを配置しコントロールソースに同様に=IIf([午前]=True,"午前","")とすれば同じことができます」はレポート上に午前のコントロールがないと正しく表示しないのでクエリを作りそれを元にレポートを作成したと解釈して・・

レポートのレコードソースに先の回答のようにクエリを使っていたらクエリ上でフィールドを1つ追加してYes/No型のフィールドを合計します。Yes/No型のフィールドはテーブルの内部コードとしてTrueやYes(チェックされている)の場合-1の値、チェックされてなければ0の値を持っています。
Yes/No型のフィールドを合計すればチェックが全然なければ0が帰り1つでもチェックがあれば-1以上(-で見れば以下)の値が返るのでIIfを使えば同様に出来ます。
例えばクエリに利用Ckというフィールドを追加して
利用Ck:IIf(([午前]+[午後]+[夜間])<>0,"利用","")
とすればクエリ上で利用と空白が表示できるのでレポートに利用Ckのコントロールを配置すれば出来ます。
    • good
    • 0
この回答へのお礼

うまくいきました。ありがとうございました。まだまだ勉強不足と痛感しました。2度にわたる丁寧なアドバイス本当に感謝します。

お礼日時:2006/04/21 17:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!