次の方法で共有

ACCESS2010 レポートの非連結項目に代入した値が消える

Anonymous
2011-11-21T09:11:32+00:00

標準モジュールのプロシージャから、レポートをプレビュー表示した後で非連結項目に値をセットする処理があります。

処理の都合上、レポート詳細のFormatイベントで記述しにくいため、対処方法を調査していたところ、ページレイアウトを指定し直す等で表示できるようになりました。

'代入処理の後

R.Printer.Orientation = R.Printer.Orientation

これで解決したと思っていたのですが、新たな問題が発生してしまいました。

どういった条件かは分からないのですが、コントロールのVisibleを操作するとセットした値が消えてしまうことがあります(必ずではありません)。

Dim R As Report

DoCmd.OpenReport "R", acPreview

Set R = Reports![R]

R![ラベル1].Visible = False

R![テキスト1] = "出力テキスト"

R.Printer.Orientation = R.Printer.Orientation

Msgbox R![テキスト1]  'ここでは内容が表示される

Msgbox R![テキスト1]  'ここではNullになる

何か情報がありましたら宜しくお願いいたします。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-11-21T11:44:38+00:00

こんばんは、MukkuMukuです。

最終的にどのようなことが目標なのでしょう

レポートの内部動作ってけっこう複雑なので、目的によっては違う手順の方がよいのではと思ったりする。

ややこしい形の値の受け渡しにはTempVarを使うとスマートにできることがある

この回答は役に立ちましたか?

0 件のコメント コメントはありません

4 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-12-03T06:36:25+00:00

    正直、現象としては納得できないのですが仕方ありません。

    できればソフトの不具合と認識されて、修正される(元に戻る)ことを願っています。

    なお、レポートを使用せずにフォームで印刷レイアウトを作成し、プレビューで開いて

    同じように印刷させたときは消えないようでした。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2011-11-26T14:54:31+00:00

    こんばんは、MukkuMukuです。

    なにがどこまでどうなったか全体をわかっていませんが、ちょっとずつ内部処理が変わっているようなことはあると感じています。今まで許容されていたことが許容されなくなったという感じかもしれません。

    リファレンスにない事柄について問答しても、仕様です(キリッ)と言われてしまえばそれっきりですけど、不具合に起因するものなら別という感じかなと。

    不具合だとしても数日で修正なんてことは現実的にあり得ないので、おっしゃる通り確実に動作するコーディングをするというのが最善だと私は思います。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2011-11-24T00:01:54+00:00

    ご回答ありがとうございます。

    Publicの変数もしくはTempVarを使って、フォーマット時に処理するようにしたいと思います。

    なお、「プレビュー後に値をセットする」というのは完全では無いのでしょうか?

    この問題が発生したのは、2003以前のバージョンで作成していたものを2010に変換したときでした。

    はじめはバージョン変換によるものかと思っていたのですが、新規で作成して同じコードでも駄目です。

    2003までは問題なくセットされていたはずですので、2007と2010での現象のようです。

    例えば、プレビュー → 値セット → PrintOut というような処理もあり(これは出力されていますが)、

    確実という意味では作り替えるべきでしょうか?

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2011-11-21T11:49:46+00:00

    パレビュー後に値をセットするというのは確実でないし、直接印刷する場合はセットできないし、なぜ、そのような事をする必要があるのか、理由が思いつきません。

    詳細のフォーマット時ではなぜだめなのでしょうか。

    あるいは、開くときとか、レポートヘッダーのフォーマット時とかではダメですか。

    一番確実なのは、コントロールソースに式、あるいはユーザー関数を設定する方法ですけど。

    上記の方法でダメな理由を説明してもらえたら、その対処法をアドバイスできるかもしれません。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません