- ベストアンサー
MSアクセスで出力の位置をかえたい
MSアクセス2000で封筒に氏名を出力しています。 条件によって氏名の上位置を変えたいのですが、 デザインビューで氏名を配置して イベントプロシージャで条件によってプロパティのTOPをかえています プログラムは簡単にしますと、下記のように記述しています。 Y=ME!SIMEI.TOP '今回の場合は3800です IF ISNULL(TRIM(ME!KAISYA))=TRUE THEN ME!SIMEI.TOP=Y-200 ELSEIF ・・・・・・・・・・・・・・・・・・THEN ・・・・・・・・・・・・・・・・・ ELSE ENDIF いろいろな封筒があるので定数で初期化できないので次のレコードの時 さらに200上がってしまいます。 なにか良い方法はないでしょうか
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>Y=ME!SIMEI.TOP '今回の場合は3800です >IF ISNULL(TRIM(ME!KAISYA))=TRUE THEN >ME!SIMEI.TOP=Y-200 >ELSEIF ・・・・・・・・・・・・・・・・・・THEN どのイベントプロシージャでこのコードを実行しているんでしょうか? 詳細セクションのPrintイベントだとすれば、確かに出力するたびに氏名が200づつ上がっていくでしょうね。 もしそうなら、 Y=ME!SIMEI.TOP は、レポートのOpenイベントで1回だけ実行するようにして、それ以外は詳細セクションのPrintイベントで実行すればいいのではないでしょうか。 ただし、Yはパブリック変数にする必要がありますが。
その他の回答 (2)
- nda23
- ベストアンサー率54% (777/1415)
非常に小さい、あるいは中身のないラベルなど見えないコントロールを 置き、それに対する相対位置指定にしたら如何ですか? 同じコントロールに対して加算減算だと、オリジナルの位置が 分からなくなってしまい、困ることになりますね。
お礼
ありがとうございます。 ちょっと試してみます。
- nda23
- ベストアンサー率54% (777/1415)
例えば、氏名フィールドを複数用意しておき、条件付書式で、条件に 当てはまらない場合の文字色を白(つまり、見えない)にするのは 如何でしょう?
お礼
ありがとうございました。
補足
ありがとうございます。 フィールドかテキストボックスを複数用意しなければならないので 見た目に複雑なデザインになってしまいます。 今現在はマージンで調節しているのですが、上方向に移動するのは レイアウトが複雑になるのでやはり避けたいのです。
お礼
ありがとうございます。 ご指摘のように 詳細セクションのフォーマット時にしています。 パブリック宣言は使ったことがないのですが 確か・・・・? 試してみます。 ありがとうございます。