• ベストアンサー

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上がってしまいます。 なにか良い方法はないでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.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はパブリック変数にする必要がありますが。

DPS-DPS
質問者

お礼

ありがとうございます。 ご指摘のように 詳細セクションのフォーマット時にしています。 パブリック宣言は使ったことがないのですが 確か・・・・? 試してみます。 ありがとうございます。

その他の回答 (2)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

非常に小さい、あるいは中身のないラベルなど見えないコントロールを 置き、それに対する相対位置指定にしたら如何ですか? 同じコントロールに対して加算減算だと、オリジナルの位置が 分からなくなってしまい、困ることになりますね。

DPS-DPS
質問者

お礼

ありがとうございます。 ちょっと試してみます。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

例えば、氏名フィールドを複数用意しておき、条件付書式で、条件に 当てはまらない場合の文字色を白(つまり、見えない)にするのは 如何でしょう?

DPS-DPS
質問者

お礼

ありがとうございました。

DPS-DPS
質問者

補足

ありがとうございます。 フィールドかテキストボックスを複数用意しなければならないので 見た目に複雑なデザインになってしまいます。 今現在はマージンで調節しているのですが、上方向に移動するのは レイアウトが複雑になるのでやはり避けたいのです。