- ベストアンサー
access vbaのコンパイルエラーについて
- access vbaのコンパイルエラーについて質問です。
- フォーム上のレコード数を一件に制限する必要があり、サブフォーム移動時のプロシージャでエラーが発生しています。
- サブフォームコントロール名の指定が間違っているのか、コンパイルエラーが発生しています。ご協力お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No2です。ひょっとしたら登録した サブフォーム名と同じになっているかもしれません。 いずれにしても、デザインビューで サブフォームの縁を右クリックして プロパティで名前を確かめてみてください。
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
>サブフォームコントロール名はデザインビューのプロパティで、 >タブの「すべて」の名前の欄にあるものだと思っているのですが、 >もしかしてこれが違っているのでしょうか? はっきり言えば、 >Me.新規入力 サブフォーム.Form.Form_Current この「新規入力 サブフォーム」に入るのは、 サブフォーム表示コントロール名で、 デザインビューでサブフォームの縁を右クリックし、 プロパティの名前に表示されているものを入れます。 普通、メインフォームにサブフォームを設定するときに ツールボックスでサブフォームを選択し、メインフォームに 貼り付けるコントロールの名前で、初期値は 「埋め込み0」のような名前になっています。これを いれます。したがって、 >Me.新規入力 サブフォーム.Form.Form_Current は、 Me.サブフォーム表示コントロール名.Form.Form_Current で、 具体的には、 Me.埋め込み0.Form.Form_Current のような名前になります。補足のような場合は どのような名前になっているのかわからないので、 上記のような方法で確かめてみてください。
お礼
>デザインビューでサブフォームの縁を右クリックし、 プロパティの名前に表示されているものを入れます。 さっそく調べてみたのですが、やはり名前は 新規入力 サブフォーム とプロパティに表示されています。 もう少し調べてみます。
- yorozu_ya
- ベストアンサー率54% (76/140)
サブフォーム名は何ですか? まさか、「新規入力 サブフォーム」だとか。 名前の途中に空白を入れると面倒なことになるので、普通は避けます。 Me.[新規入力 サブフォーム].Form.Form_Current ではどうでしょう。
お礼
Me.[新規入力 サブフォーム].Form.Form_Currentで 実行してみましたが、パラメータの入力ダイアログが出てしまい、 その後 名前が適切ではありませんというエラーが発生しました。 残念ながら、この方法ではだめのようです。 回答ありがとうございました。
補足
回答ありがとうございます。 サブフォーム名はご指摘の通り、「新規入力 サブフォーム」 という名前です。 フォームウィザードで作ったサブフォームなので、このような名前になっているのだと 思います。 回答いただいた通りに試してみたいと思います。 結果をまたお礼として書きたいと思います。
お礼
いろいろ試してみたのですが、サブフォーム名の変更をしたらようやく動作しました。 理由はよくわからないのですが、やはり名前に空白があるのがよくなかったようです。 一人で煮詰まってしまったので、いろいろなアドバイスをいただき大変感謝しております。 回答ありがとうございました。
補足
具体的な回答を頂き大変助かります。 明日にならないと確認が出来ない状態ですが、明日の朝一で確認してみたいと思います。 いずれにしてもサブフォーム名の確認が重要ですね。 また改めてお礼の記入をさせていただきたいと思います。 ありがとうございました。