- ベストアンサー
Access2002_メソッドまたはデータメンバが見つかりません
社員情報を入力・変更していくためのフォームがあります。 そのフォームが立ち上がる際 ・新規入力画面を表示させる ・フォーカスを[データ入力更新日]テキストボックスに合わせておく という操作をさせたく下記のようなコードを書きました。 Private Sub Form_Open(Cancel As Integer) DoCmd.GoToRecord Record:=acNewRec Me.txt_データ入力更新日.SetFocus End Sub フォームを立ち上げようとすると「.txt_データ入力更新日」が反転されタイトルで書いたエラーメッセージが表示されます。 試しに他のテキストボックスにフォーカスがいくよう変更してみるとエラーは起こらず 指定したテキストボックスにフォーカスが置かれてフォームが開きました。 [txt_データ入力更新日]の名前はプロパティからコピペしているので間違っておりません。 名前が違っている以外にどんなことが考えられるでしょうか? よろしくお願い致します。 テキストボックスの名前は間違いありません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 名前が違っている以外にどんなことが考えられるでしょうか? ・・・すみません、どうしても名前ではないかと思えてしまいます(汗) とりあえず、「名前の間違いかそうでないか」を確実に切り分けるために、 以下のコード変更を行った上で、エラーメッセージを再確認してみて下さい。 <現在> Me.txt_データ入力更新日.SetFocus <修正> Me.txt_データ入力更新日.SetFocus ※「Me」の後を「.(ピリオド)」から「!(エクスクラメーションマーク)」に変更 もしもこれで「実行時エラー'2465':指定した式で参照されている 'txt_データ 入力更新日' フィールドが見つかりません。」というエラーが返されれば 名前の間違い、それ以外なら別の理由、と切り分けできます。 (新たに表示されるエラー内容が、解決のヒントにもなると思います) ※この切り分けがすぐにできるように、コントロールの参照時は「!」を、 プロパティなどの参照時は「.」を、と使い分けることをお勧めします。 なお、今回ご質問の件からすると余談になりますが、そのフォームで 既存のデータを表示する必要がないようでしたら、展開時に新規レコードに 移動するよりも、フォームのプロパティシートで、『データ』タブの『データ 入力用』を「はい」に設定した方が安全かと思いますので、ご参考まで。 (現状では、レコード移動ボタンやShiftキー+Tabキーなどで、既存レコードへの 移動が可能になってしまっていると思いますので・・・)
お礼
アドバイスありがとうございました。 DexMachinaさんのアドバイス通り ピリオドエクスクラメーションマークへの変更でエラーも起こらず フォーカスが望むテキストボックスへ現れました!! 今後はピリオドエクスクラメーションマークをきちんと使い分けるようにしていこうと思います。 本当にありがとうございましたm(_ _)m