- ベストアンサー
Accessで印刷する際、チェックボックスのオンオフで御中の印刷を決めたい。
Accessの顧客リストから、 請求書送付用の封筒に貼るシールの印刷をしているのですが、 会社宛ではなく、個人名で送る場合もあり、 テーブルやフォームからのチェックボックスのオン/オフ(YES/NO)で、 御中を印刷したり、様を印刷しなかったりを決めたいのです。 (会社名と個人名を印刷する行は違うので、チェックボックスも御中用と様用の 2つを作りたいのです。) 本にはレポートデザイン上で、 会社名の入力するテキストボックスのプロパティのコントロールソースに =trim([会社名]&"御中") とする。 と、載っているのですが、これもうまく出来ません。 自分で御中のテキストボックスを作り、プロパティの コントロールソースに御中(テーブルでのフィールド名)を入れ、 定型入力に"御中"と入れたところ、 印刷プレビューには「-1」としか表示されません。 どこかしらのプロパティをいじると、「Yes」と出た事もありましたが...。 いったい、 「御中」と出す為には、どこをどう変えれば出来るのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
御中と表示させたいところにコンボボックスを置き コントロールソース:御中 値集合タイプ:値リスト 値集合ソース:0;"";-1;"御中" 連結列:1 列数:2 列幅:0cm;2cm
その他の回答 (3)
昼休みになったので片手間回答でしたので補足します。 <テーブル1> ID___御中 1____Yes 2____No レポートには、[御中]を非表示で表示。 [宛名].[コントロールソース]=IIf([御中],"御中","様") 名称との合成は、適当に・・・。 これでOKです。 フォーム参照方式ですと、ちょっと、ややこしいです。
お礼
何度もお答え頂きありがとうございました。 Accessは中々に奥が深いですねぇ。 難しい事だらけで...;; たちまちには使えませんでしたが 今後の参考にさせていただきます。 本当にありがとうございました。
失礼、複数レコードということですね。 であれば、テーブルに[御中]=Yes/No列を作成するのが手っ取り早いでしょう。 これは、固定の固有情報ですからね。
例えば、[フォーム1]に[チェック1]を配置しているとします。 Private Sub コマンド3_Click() On Error Resume Next DoCmd.OpenReport "レポート1", acPreview, , , , IIf(Me.チェック1, "御中", "") End Sub Access2003等であれば、これで[レポート1]にMe.チェック1=真の場合のみ"御中"を渡します。 Private Sub Report_Open(Cancel As Integer) Me.相手先名.Caption = Me.OpenArgs & "" End Sub レポート側では、受け取った"御中"またはNull を表示することになります。 ただ、Null を代入するとエラーになりますので & "" が必要です。 Nz( Me.OpenArgs)でも構いません。 Accee が旧いバージョンであれば、フォームを参照するしかないと思います。
お礼
ありがとうございます。 うまく出来ました。 細かいご指示ありがとうございました。