アクセス【Access】

【AccessVBA】カーソルを任意のテキストボックスやボタンへ移動するコード

 

この次はここにカーソルが飛んで欲しい!という時ありませんか??

 

カーソルの移動の順番をしていするにはタブオーダーという機能を使ってできます。

 

では、実際にやってみましょう!!

 

まず、フォームをデザインモードで開きます。

 

次にデザインタブのタブオーダーをクリックします。(青く囲っているところです)

 

そうすると、『タブオーダー』という画面が出るので、こちらで順番を決めます。

 

上からの順序で動きます。

 

 

こちらの表に書いてある順番は13個あるんですが、一番初めは『0』からスタートなので、12番までとなります。

 

 

ちなみプロパティシートのその他タブからも『タブ移行順』というところで設定可能です。

 

どちらからでも使いやすいほうで設定してください。

 

次はVBAで任意のところに飛ばしてみましょう!!

 

VBAでカーソルを任意のところに飛ばす方法

 

別フォームからカーソルを任意のところに飛ばすときなどに便利な方法です。

 

『Me.テキストボックス名.SetFocus』だけなんです。

 

使用例としてはこんな感じになります。

 

 

 

意味
こちらのコードの意味は『見積日付表記』というテキストボックスにカーソルが来たときに、『担当者CD』テキストボックスが空欄なら、”担当番号を入力してください(レジ担当番号)”というメッセージボックスを表示して『OK』を押すと『担当者CD』テキストボックスに戻る。 『担当者CD』が入力されていたら、『見積日付表記』というテキストボックスにカーソルをセットフォーカスします。

 

別フォームからセットフォーカスする場合

 

別フォームからセットフォーカスする場合は、フォーム名をテキストボックス名の前つけてあげます。

 

例えば、『見積修正』フォームの『得意先名』というテキストボックスにセットフォーカスするなら…

 

Forms![見積修正].[得意先名].SetFocus

 

という感じになります。

 

サブフォームにセットフォーカスする場合は…

 

まず、フォームをセットフォーカスします。その後に、サブフォーム名、テキストボックス名を書きます。

 

続けて書くと下のような感じです。

 

Forms![見積修正].SetFocus

Forms![見積修正]![得意先名].SetFocus

 

サブフォームだとちょっと、え?どーするんだろう…?(;-ω-)ウーンって一瞬、悩んじゃったりするんですが、このように書けば大丈夫です。

 

それでは、今日はこの辺で。また~♪

アニメ見るならココ!おすすめのVOD

アニメ好きの私がおすすめのVOD(ビデオオンデマンド)です。

価格、アニメ数においても総合1位は『dアニメ』!



初回ご加入時に限り、31日間無料でお試し! ドコモのケータイ以外も登録可能!

アニメ作品数No.1の見放題サイト! ※国内の定額動画配信サービスにおいて。2018年3月時点、NTTコム オンライン・マーケティング・ソリューション株式会社調べ。

 

スマートフォン・タブレット・パソコンも対応 !Chromecastなら高画質で視聴可能!!

RELATED POST