- 締切済み
access setfocusについて
いつもお世話になっております。 いろいろ調べたのですが行き詰っておりまして ご教授お願いします。 下記記述でsetfocusでエラーになってしまいます。 Private Sub コマンド_Click() If IsNull(Me.テキストボックスコントロール名) Then MsgBox "未入力です" Me.テキストボックスコントロール名.SetFocus End If テキストボックスの処理記述 End Sub https://www.moug.net/tech/acvba/0030005.html こちらを参考にしました。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- choco-ball
- ベストアンサー率49% (25/51)
コントロールの名前は プロパティの「名前」で指定してください。 コントロールソースは全く別の用途です。 新規でテキストボックスと、ボタンを作成して質問のコードをコピペで正常動作します。 「名前」をコントロールソースに指定されていたということであれば、その他のプロパティで余計な設定、もしっくは間違った設定をされている可能性があります。 テキストボックスを作り直して、「名前」だけを入力して、コードが動くか確かめてください。
- choco-ball
- ベストアンサー率49% (25/51)
エラーメッセージは文章そのままの意味ですね・・・ 理由は指定したコントロールがSetfocusをサポートしていない = フォーカスできないコントロールである可能性が高いです。 コードの入力画面で、 Me.テキストボックスコントロール名.Set ここまで手入力した時にSetfocusが補完機能の候補に残っていますでしょうか? 残っていない場合にはコントロール名が間違っているか、テキストボックスではない可能性があります。 フォーカスさせたいテキストボックスのプロパティの「名前」をしっかり確認してください。 もしかして、テキストボックスのプロパティの「名前」に 「Me.テキストボックスコントロール名」 としていたりしませんよね? テキストボックスの名前には「テキストボックスコントロール名」と「Me.」は入れてはいけません。
- chayamati
- ベストアンサー率41% (260/624)
「テキストボックスコントロール名」この名称でテキスとボックスが フォーム上に配置されていますか?
補足
回答遅れまして申し訳ありません。 はい、フォーム上に配置されています。 宜しくお願いします。
- choco-ball
- ベストアンサー率49% (25/51)
コード自体は問題ないようです。 setfocusでエラーが出るのであれば何らかの理由でフォーカスが移動できないんじゃないですかね? テキストボックスのプロパティで 「使用可能:いいえ」になっているとかじゃないでしょうか? また、このような質問の場合、何というエラーが出るのかも記載したほうがよいですよ!
補足
ご回答ありがとうございます。 「使用可能:はい」となっております。 エラーメッセージですが 実行エラー488 オブジェクトはこのプロパティまたはメソッドをサポートしておりません となります。 よろしくお願いします。
補足
>ここまで手入力した時にSetfocusが補完機能の候補に残っていますでしょうか? はい、保完候補にのこっております。 >もしかして、テキストボックスのプロパティの「名前」に >「Me.テキストボックスコントロール名」 >としていたりしませんよね? はい、確認しましたがプロパティの「名前」にはMe.は入っておりません。 追記 補足ですが、テキストボックスのプロパティで「名前」と「コントロールソース」がありますが どちらを使うのが正しいのでしょうか? 「名前」の方を使ったところ 実行時エラー94 NULLの使い方が不正ですとなりました。 質問時は「コントロールソース」を指定していました。 皆様お手数をお掛けしますが、宜しくお願いします。