Please visit our sponsors.
スポンサーも訪れて下さい

★MSアクセスウエッブカレッジサンプル(ダウンロードする)|業務統合4in1小さな会社用『感嘆!』  

▲▲MSアクセスマクロ研究会  第13回▲▲
知らなきゃ損!コントロールの移動テクニック


サブフォームへのコントロール移動、データ入力項目が多くな ると、タブの移動をキーボードから自動で移動させたくなります。 最近の質問にも、いくつか見受けられましたので、取り上げて みました。

1 タブ移動の基本
 タブ移動とは、「エンターキー」、「タブキー」を押したとき、 カーソル位置が移動することで、基本的移動方向は、 @まず右方向へ A下に移動します。 つまり、Zの文字のように移動します。

2 タブを移動させない
 コントロールにタブを移動させるか、移動させないかを、コント ロールごとに設定ができます。移動させないコントロールをまず設定 します。該当のコントロールをデザインビューにして、下記設定をし ます。

○プロパテーで、「タブストップ」の項目を「いいえ」にします。  それから、非表示のコントロールも「いいえ」にして置きます・  非表示は、移動しないはずですが、しておいたほうが安全です。

○コマンドボタンのタブ設定を「いいえ」にしておく  ここで注意しておきたいことは、入力フイルドだけでなく、ファ  イルを閉じるなどの、コマンドボタンにも、タブは移動するとい  うことです。

○ユーザーさんで、タブ移動していて、よく、カーソルが消えてしまいました、どこへいったんでしょうか?と聞かれます。これは  ほとんど、コマンドボタンにカーソルが移動している場合です。

 コマンドボタンのプロパテーを開いて、タブ設定を「いいえ」にしておきます。  コマンドボタンは、原則的には、クリックするわけですから、マウスクリックによって起動すればいいので、タブ移動はしなくてもいいことになります。

これで、タブ移動させるコントロールが決まりました。 次は、順番です。順番は、該当のフォームをデザインビューで開き ます。そして、画面上部メニュバーの、表示――タブオーダーをク リックして、開かれた小窓、「タブオーダー」の中の上下順番を、 コントロールを移動したい順番にします。 基本的には、タブ設定「いいえ」にした項目は、どこにあっても影響 しませんが、目で確かめやすいように、上部から移動順に並べます。 これで、タブ設定は、完了です。

3 サブフォーム内にタブ移動する
 サブフォーム内へ、タブを移動させたいときもあります。そのときの、 設定は、まず、サブフォームのプロパテーでタブ設定を「はい」に」し ます。これで、タブ移動の対象になります。

次に先ほどの、タブオーダーを開くと、サブフォーム名があります。 (サブフォームの詳細項目は、表示されません) この、順番を設定します。 これで、メイン画面から、指定された順番時に、サブフォームのトップ にタブ移動します。

4 サブフォームから抜ける
 問題は、サブフォームから、抜ける操作を、マウスを使わずにおこ ないたいことである。これも非常に多くの問い合わせがくる項目です。  これは、キー操作によって、簡単にできます。サブフォーム内に、カー ソルがあるときに、「ctr」キーと「tab」キーを同時押すと、 サブフォーム外で、サブフォームの次に設定されたメインフォームの 順番にタブが移動します。


5 フォーム内だけでタブ移動する
 タブ設定は以外に複雑です。上記の設定でタブ設定した場合、タブの 最後にいったあと、タブは、次のページに勝手に移動してしまいます。 入力内容を、じっくり確認して、次のレコードにいきたい場合など、本 当に困ります。こんなときは、今開いているレコードのみでの、タブ移動 ですよ、他のレコードに勝手に行かないでください。という設定が、フォ ームに作れます。

 1.フォームをデザインビューで開きます。
 2.フォームのプロパテー内のタブ移動項目で、「カレントレコード」を選択します。 初期設定は、「すべてのレコード」です。 そうです。わかりましたね。

これで、enterキーを押しつづけても、他のレコードに移動しない で、終わりまでいくと、又最初のコントロールに移動します。つまり、 同じレコード内をぐるぐる回るわけです。
5 特定のコントロールに移動する
 フォームを開いたときとか、あるデータを入力したあと、とかに、次の コントロールの移動を指定したい場合、条件などによって、入力順番を飛 ばす場合など、実践では多くのケースがあると思う。

★マクロによって行う  特定のコントロールへの強制移動は、マクロによって行います。

○単純な移動 データ入力後、コントロールを移動する場合は、マクロを、ホーカス 喪失後の設定して、アクション、コントロールの移動を作成します。

○サブフォームへの移動  メイン画面の、ある項目で、データの入力をしたら、次はサブフォーム へ移動させる場合も、マクロで同様にコントロールの移動アクションを 使います。コントロール名にサブフォーム名を入力します。コントロー ル名がありませんのエラーメッセイージがよく出ますが、これは、入力 ミスです。コントロール名は、プロパテーの名前をコピーし、複写する 方法をおすすめします。

 サブフォームの特定のレコードの特定のコントロールにタブ移動させる 最も複雑なタブ移動ですが、これもマクロで行います。 処理順番としては、 1サブフォームにタブ移動 2レコード移動 3コントロール移動 の3アクションを実行することになります。

★この事例は、下記ホームページに実際のタブテストDBを公開 しています。
実際の、DBで確認してください。

知らなきゃ損、コントロール移動テクニック

又、テスト画面には閉じるコマンドボタン削除コマンドボタンが、ありますが、 これを、片方を、タブ移動「はい」にして、両方確認してください。 どんな結果になるでしょう。必ず確認してください。

◇アクセスでクエリー実行時、処理件数などメッセージを非表示にする方法


【関連ファイルトピック】
1.アクセスが止まってしまう!?
2.サブマクロ
3.アクセスで出来ること
4.イベントって何?
5.クエリーて何?
6.コマンドの実行
7.複数のMSアクセスを使い分ける
8.エコーとメッセージの設定
9.全レコードの表示
10.フォームを開く

ここをクリックしてください。 パソコン・周辺機器・PCソフト・AV機器・家電・楽器・ゲームなどが激安!

IP接続サービス
月々4,500円の定額料金で、ISDN回線をつなぎ放題!