• ベストアンサー

ACCESS2000で、エラーの理由がわかりません

現在、ACCESS2000を使って勉強中なのですが、フォームの作成で、フォームビューにしたときに、エラー値[#NAME?]が表示されるのですが、原因がわかりません。どこ(何)をチェックすれば良いか、ご教示願います。 具体的に説明しますと、そのフォームはウィザードを使って「サブフォームがあるフォーム」を作りました。仮にそのサブフォームの名前を「A サブフォーム」とします。 フォームの詳細セクションにテキストボックスを作成し、そのコントロールソースに 「=[A サブフォーム].Form![テキストB]」 という風に、サブフォームに作成したテキストボックスの値を参照するように設定しました。ここが、エラーになります。(テキストBは、A サブフォームの詳細セクションに作ったものです。) おそらく、"A サブフォーム"が認識できていないようなんですが、設定は、式ビルダで貼付けて作っており、名前が違うなんてことはありえないと思います。 また、名前の自動修正にもチェックは入ってます。 ずっと悩んでおります。アドバイスよろしくお願い致します。

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

  • ベストアンサー
  • hysteric5
  • ベストアンサー率28% (4/14)
回答No.2

=[Aサブフォーム]!テキストB としてみてはいかがでしょう?

hinebot
質問者

お礼

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

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • yoisho
  • ベストアンサー率64% (331/516)
回答No.4

Accessには、日本語(2バイト文字)のオブジェクト名やフィールド名を認識しなくなる(常にではなくたまにですが、特に長い名前をつけた場合に問題が生じることが多いようです。)“バグ”があるようです。 私は(Access97での経験ですが)クエリーのフィールド名に日本語を使っていてたために想定したデータが得られず、原因不明でかなり四苦八苦した挙句に、フィールド名を変えてやっと問題解決したことがあります。 hinebotさんの場合がこれに該当するかわかりませんが、コントロールソースの構文は問題なさそうですので、とりあえずサブフォーム名(念のためサブフォームのテキストボックス名も?)を半角英字の名前に変えて確認してみてください。 本格的にアプリケーション開発をされる場合は、オブジェクト名やフィールド名に日本語を使わない方が安心かと思います。 (私はかなり作りこんだ後で気付いて失敗しました。)

hinebot
質問者

お礼

回答ありがとうございます。 今回は違いましたが、アドバイスは今後の参考にさせていただきたいと思います。

すると、全ての回答が全文表示されます。
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 =Forms![メインフォーム]![A サブフォーム].Form![テキストB] または、 =Me![A サブフォーム].Form![テキストB] これでどうでしょうか。 では。

hinebot
質問者

お礼

回答ありがとうございました。下のhysteric5さんの方法で解決しました。

すると、全ての回答が全文表示されます。
  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.1

簡単な回答  >「=[A サブフォーム].Form![テキストB]」    「=[FORMS]![A サブフォーム]![テキストB]」 では?  もし違っていたらエラー内容を補足して下さい。 がんばれ、出来たら貴方も経験者

hinebot
質問者

補足

早速の回答ありがとうございます。 やってみましたが、だめでした。エラーの内容は質問にも書いたとおり、"#NAME?"というエラー値になり、参照してくれません。 式がどうこうというより、サブフォームを認識してくれないのが問題だと思うのですが。 引き続き、よろしくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A