アプリ版:「スタンプのみでお礼する」機能のリリースについて

社員情報を入力・変更していくためのフォームがあります。
そのフォームが立ち上がる際
 ・新規入力画面を表示させる
 ・フォーカスを[データ入力更新日]テキストボックスに合わせておく
という操作をさせたく下記のようなコードを書きました。

Private Sub Form_Open(Cancel As Integer)
 DoCmd.GoToRecord Record:=acNewRec
 Me.txt_データ入力更新日.SetFocus
End Sub

フォームを立ち上げようとすると「.txt_データ入力更新日」が反転されタイトルで書いたエラーメッセージが表示されます。
試しに他のテキストボックスにフォーカスがいくよう変更してみるとエラーは起こらず
指定したテキストボックスにフォーカスが置かれてフォームが開きました。
[txt_データ入力更新日]の名前はプロパティからコピペしているので間違っておりません。
名前が違っている以外にどんなことが考えられるでしょうか?
よろしくお願い致します。


テキストボックスの名前は間違いありません。

A 回答 (1件)

> 名前が違っている以外にどんなことが考えられるでしょうか?



・・・すみません、どうしても名前ではないかと思えてしまいます(汗)

とりあえず、「名前の間違いかそうでないか」を確実に切り分けるために、
以下のコード変更を行った上で、エラーメッセージを再確認してみて下さい。

<現在>
Me.txt_データ入力更新日.SetFocus
<修正>
Me.txt_データ入力更新日.SetFocus
※「Me」の後を「.(ピリオド)」から「!(エクスクラメーションマーク)」に変更

もしもこれで「実行時エラー'2465':指定した式で参照されている 'txt_データ
入力更新日' フィールドが見つかりません。」というエラーが返されれば
名前の間違い、それ以外なら別の理由、と切り分けできます。
(新たに表示されるエラー内容が、解決のヒントにもなると思います)

※この切り分けがすぐにできるように、コントロールの参照時は「!」を、
  プロパティなどの参照時は「.」を、と使い分けることをお勧めします。


なお、今回ご質問の件からすると余談になりますが、そのフォームで
既存のデータを表示する必要がないようでしたら、展開時に新規レコードに
移動するよりも、フォームのプロパティシートで、『データ』タブの『データ
入力用』を「はい」に設定した方が安全かと思いますので、ご参考まで。
(現状では、レコード移動ボタンやShiftキー+Tabキーなどで、既存レコードへの
 移動が可能になってしまっていると思いますので・・・)
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。
DexMachinaさんのアドバイス通り
ピリオドエクスクラメーションマークへの変更でエラーも起こらず
フォーカスが望むテキストボックスへ現れました!!
今後はピリオドエクスクラメーションマークをきちんと使い分けるようにしていこうと思います。
本当にありがとうございましたm(_ _)m

お礼日時:2008/11/09 20:49

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A