現在、ACCESS2000を使って勉強中なのですが、フォームの作成で、フォームビューにしたときに、エラー値[#NAME?]が表示されるのですが、原因がわかりません。どこ(何)をチェックすれば良いか、ご教示願います。

具体的に説明しますと、そのフォームはウィザードを使って「サブフォームがあるフォーム」を作りました。仮にそのサブフォームの名前を「A サブフォーム」とします。
フォームの詳細セクションにテキストボックスを作成し、そのコントロールソースに
「=[A サブフォーム].Form![テキストB]」
という風に、サブフォームに作成したテキストボックスの値を参照するように設定しました。ここが、エラーになります。(テキストBは、A サブフォームの詳細セクションに作ったものです。)

おそらく、"A サブフォーム"が認識できていないようなんですが、設定は、式ビルダで貼付けて作っており、名前が違うなんてことはありえないと思います。
また、名前の自動修正にもチェックは入ってます。
ずっと悩んでおります。アドバイスよろしくお願い致します。

A 回答 (4件)

Accessには、日本語(2バイト文字)のオブジェクト名やフィールド名を認識しなくなる(常にではなくたまにですが、特に長い名前をつけた場合に問題が生じることが多いようです。

)“バグ”があるようです。

私は(Access97での経験ですが)クエリーのフィールド名に日本語を使っていてたために想定したデータが得られず、原因不明でかなり四苦八苦した挙句に、フィールド名を変えてやっと問題解決したことがあります。

hinebotさんの場合がこれに該当するかわかりませんが、コントロールソースの構文は問題なさそうですので、とりあえずサブフォーム名(念のためサブフォームのテキストボックス名も?)を半角英字の名前に変えて確認してみてください。

本格的にアプリケーション開発をされる場合は、オブジェクト名やフィールド名に日本語を使わない方が安心かと思います。
(私はかなり作りこんだ後で気付いて失敗しました。)
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/01/25 09:15

こんにちは。

maruru01です。

=Forms![メインフォーム]![A サブフォーム].Form![テキストB]
または、
=Me![A サブフォーム].Form![テキストB]

これでどうでしょうか。
では。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/01/25 09:14

=[Aサブフォーム]!テキストB


としてみてはいかがでしょう?
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/01/25 09:13

簡単な回答


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

この回答への補足

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

補足日時:2002/01/24 17:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報