• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2003での[Section])

Access2007でのmdbの読み込みエラーと修正方法

このQ&Aのポイント
  • Access2007で動作していたmdbファイルを読み込もうとするとエラーが発生します。具体的にはマクロの値代入箇所で関数が存在しないというエラーメッセージが表示されます。
  • マクロの値代入箇所には[Section](11).[Visible]および[Section](0).[Visible]の値が代入されていますが、フォームやレポート上にはSectionという要素は存在しません。どのような意味を持つのか疑問です。
  • エラーを解消するためには、[Section](11).[Visible]および[Section](0).[Visible]の部分を削除する必要があります。ただし、これが正確に何を実現しているのかは不明です。Access2007で同じ動作をするためには修正が必要です。

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.1

レスが付かないようなので、わかる範囲で。 > 1.Sectionという名前の要素はフォームにもレポートにも無いのですが、これは何を意味しているのでしょうか? Section プロパティ http://office.microsoft.com/ja-jp/access-help/HA001232791.aspx (「すべて表示」 をクリックして詳しい説明を読んでください。) Report.Section プロパティ (Access) http://msdn.microsoft.com/ja-jp/library/ff192668(v=office.15).aspx 例えば レポートをデザインビューで開き ページヘッダー内の何もないところをクリックすると プロパティの [選択の種類] が 「セクション」 になります。 デザインビューで開いて、何もしない状態だと「レポート」、 テキストボックス等をクリックすると、そのコントロールの種類が表示されます。 > 2.フォームのプロパティ値としてSectionはあるのというのが調べて分かったのですが値は4までしか設定できないようです。11が存在するSectionとはなんでしょうか? 上記、Section プロパティ に書かれていますが 0 ~ 4 は、フォーム、レポートに共通です。 5 以上は、レポートの 「グループ化」 に対応しています。 > 3.同じ事をAccess2007で実行するためにはどのような修正をすればいいでしょうか? これは、どのバージョンでどのようにレポートを作ったかで異なってくるかもしれないので 考え方だけ。 2003 での動作確認はできないので 2007 で出来たものについて説明します。 ・マクロの場合、セクションをセクション番号で参照できないようです。 ・さらに、セクションの名前で参照する場合にも  省略せずに上位から記述する必要があるようです。 [Section](0).[Visible] を [Reports]![レポート名].[詳細].[Visible] のように。 セクション名は、変更することも可能ですし バージョンによって異なる可能性もありますから 確認してください。 簡単に確認する方法。 ・レポートをデザインビューで開きます。 ・Ctrl + G 押下でイミディエイトウィンドウを開きます。 ・ ? Screen.ActiveReport.Section(0).Name と入力し、<Enter> で その番号のセクション名が表示されます。 ・ Section(0) の 数値を変えて、必要なだけ名前を確認してください。

mentaiko2
質問者

お礼

お礼が大変遅くなってしまい申し訳ありませんでした。 あの後、問題なく直す事が出来ました。 本当にありがとうございました。

mentaiko2
質問者

補足

ありがとうございます!! 特に11が何か示しているかを知りたかったのでとてもありがたいです。 イミディエイトウィンドウで Screen.ActiveReport.Section(0).Nameで要素が何かが分かればエンドユーザー様にこの部分の表示と聞く事もできますし、VBAをキックして処理をその中でやると言う方法を使う等選択肢も広がります。 今日残念ながら環境をいじる事が出来ないので補足での現状報告となりますが、環境を確認して実態が分かりましたら、またお礼で報告&きちんとお礼を書き込みたいと思います。