dポイントプレゼントキャンペーン実施中!

お世話になります。
vbaは超初心者なので、説明が良くないかもしれませんがご容赦ください。

フォーム上のレコード数を一件に制限する必要があり、下記サイトを参考に作成中のデータベースに構文をあてはめてみました。
http://hatenachips.blog34.fc2.com/blog-entry-189 …

サブフォーム移動時のプロシージャは、
Public Sub Form_Current()
Me.AllowAdditions = Me.Recordset.RecordCount < 1
End Sub
メインフォーム移動時の動作として、対象のサブフォーム名を入れて下記のような構文を
作りました。
Private Sub Form_Current()
Me.新規入力 サブフォーム.Form.Form_Current
End Sub
ところが、「コンパイルエラー 変数が定義されていません」となってしまいました。
サブフォームコントロール名はデザインビューのプロパティで、タブの「すべて」の名前の欄にあるものだと思っているのですが、もしかしてこれが違っているのでしょうか?
エラーの意味がよくわからず、困り果てています。
どなたかお力をお貸しください。
よろしくお願いします。

A 回答 (3件)

No2です。

ひょっとしたら登録した
サブフォーム名と同じになっているかもしれません。
いずれにしても、デザインビューで
サブフォームの縁を右クリックして
プロパティで名前を確かめてみてください。

この回答への補足

具体的な回答を頂き大変助かります。

明日にならないと確認が出来ない状態ですが、明日の朝一で確認してみたいと思います。
いずれにしてもサブフォーム名の確認が重要ですね。

また改めてお礼の記入をさせていただきたいと思います。

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

補足日時:2011/08/27 21:16
    • good
    • 0
この回答へのお礼

いろいろ試してみたのですが、サブフォーム名の変更をしたらようやく動作しました。
理由はよくわからないのですが、やはり名前に空白があるのがよくなかったようです。
一人で煮詰まってしまったので、いろいろなアドバイスをいただき大変感謝しております。
回答ありがとうございました。

お礼日時:2011/08/28 14:25

>サブフォームコントロール名はデザインビューのプロパティで、


>タブの「すべて」の名前の欄にあるものだと思っているのですが、
>もしかしてこれが違っているのでしょうか?

はっきり言えば、

>Me.新規入力 サブフォーム.Form.Form_Current

この「新規入力 サブフォーム」に入るのは、
サブフォーム表示コントロール名で、
デザインビューでサブフォームの縁を右クリックし、
プロパティの名前に表示されているものを入れます。

普通、メインフォームにサブフォームを設定するときに
ツールボックスでサブフォームを選択し、メインフォームに
貼り付けるコントロールの名前で、初期値は
「埋め込み0」のような名前になっています。これを
いれます。したがって、

>Me.新規入力 サブフォーム.Form.Form_Current

は、

Me.サブフォーム表示コントロール名.Form.Form_Current

で、

具体的には、

Me.埋め込み0.Form.Form_Current

のような名前になります。補足のような場合は
どのような名前になっているのかわからないので、
上記のような方法で確かめてみてください。
    • good
    • 0
この回答へのお礼

>デザインビューでサブフォームの縁を右クリックし、
プロパティの名前に表示されているものを入れます。

さっそく調べてみたのですが、やはり名前は 新規入力 サブフォーム   
とプロパティに表示されています。

もう少し調べてみます。

お礼日時:2011/08/28 10:16

サブフォーム名は何ですか?


まさか、「新規入力 サブフォーム」だとか。
名前の途中に空白を入れると面倒なことになるので、普通は避けます。

Me.[新規入力 サブフォーム].Form.Form_Current
ではどうでしょう。

この回答への補足

回答ありがとうございます。
サブフォーム名はご指摘の通り、「新規入力 サブフォーム」
という名前です。
フォームウィザードで作ったサブフォームなので、このような名前になっているのだと
思います。

回答いただいた通りに試してみたいと思います。
結果をまたお礼として書きたいと思います。

補足日時:2011/08/27 20:58
    • good
    • 0
この回答へのお礼

Me.[新規入力 サブフォーム].Form.Form_Currentで
実行してみましたが、パラメータの入力ダイアログが出てしまい、
その後 名前が適切ではありませんというエラーが発生しました。
残念ながら、この方法ではだめのようです。

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

お礼日時:2011/08/28 10:07

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

関連するカテゴリからQ&Aを探す