• 締切済み

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 こちらを参考にしました。 よろしくお願いします。

みんなの回答

回答No.4

コントロールの名前は プロパティの「名前」で指定してください。 コントロールソースは全く別の用途です。 新規でテキストボックスと、ボタンを作成して質問のコードをコピペで正常動作します。 「名前」をコントロールソースに指定されていたということであれば、その他のプロパティで余計な設定、もしっくは間違った設定をされている可能性があります。 テキストボックスを作り直して、「名前」だけを入力して、コードが動くか確かめてください。

回答No.3

エラーメッセージは文章そのままの意味ですね・・・ 理由は指定したコントロールがSetfocusをサポートしていない = フォーカスできないコントロールである可能性が高いです。 コードの入力画面で、 Me.テキストボックスコントロール名.Set ここまで手入力した時にSetfocusが補完機能の候補に残っていますでしょうか? 残っていない場合にはコントロール名が間違っているか、テキストボックスではない可能性があります。 フォーカスさせたいテキストボックスのプロパティの「名前」をしっかり確認してください。 もしかして、テキストボックスのプロパティの「名前」に 「Me.テキストボックスコントロール名」 としていたりしませんよね? テキストボックスの名前には「テキストボックスコントロール名」と「Me.」は入れてはいけません。

ylls
質問者

補足

>ここまで手入力した時にSetfocusが補完機能の候補に残っていますでしょうか? はい、保完候補にのこっております。 >もしかして、テキストボックスのプロパティの「名前」に >「Me.テキストボックスコントロール名」 >としていたりしませんよね? はい、確認しましたがプロパティの「名前」にはMe.は入っておりません。 追記 補足ですが、テキストボックスのプロパティで「名前」と「コントロールソース」がありますが どちらを使うのが正しいのでしょうか? 「名前」の方を使ったところ 実行時エラー94 NULLの使い方が不正ですとなりました。 質問時は「コントロールソース」を指定していました。 皆様お手数をお掛けしますが、宜しくお願いします。

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.2

「テキストボックスコントロール名」この名称でテキスとボックスが フォーム上に配置されていますか?

ylls
質問者

補足

回答遅れまして申し訳ありません。 はい、フォーム上に配置されています。 宜しくお願いします。

回答No.1

コード自体は問題ないようです。 setfocusでエラーが出るのであれば何らかの理由でフォーカスが移動できないんじゃないですかね? テキストボックスのプロパティで 「使用可能:いいえ」になっているとかじゃないでしょうか? また、このような質問の場合、何というエラーが出るのかも記載したほうがよいですよ!

ylls
質問者

補足

ご回答ありがとうございます。 「使用可能:はい」となっております。 エラーメッセージですが 実行エラー488 オブジェクトはこのプロパティまたはメソッドをサポートしておりません となります。 よろしくお願いします。

関連するQ&A