文書番号: 401656
最終更新日: 1997/11/01
この資料は以下の製品について記述したものです。
- Microsoft Access(R) Relational Database Management System for Windows(R)Version 2.0 (以下 Access 2.0)
この記事は、以前は次の ID で公開されていました: JP401656
概要
テーブルやクエリーに連結しているフォームで、フォームの最後のコントロールでTab/Enter キーを押すと、次のレコードにフォーカスが移動します。同様にフォームの最初のコントロールで Shift+Tab キーを押すと、前のレコードにフォーカスが移動します。フォームにダミーのコントロールを作成し、コントロールのイベントで他のレコードへフォーカスを移動させないようにする方法を紹介します。
手順
サンプルデータベース NWIND.MDB の [商品] フォームを元にして、フォームで編集中にTab/Enter キーを押しても他のレコードにフォーカスが移動しないフォームを作成します。
-
Access 2.0 を起動し、サンプルデータベース NWIND.MDB を開きます。
-
マクロを作成します。
データベース ウィンドウで [ファイル] - [新規] - [マクロ] コマンドを選択するかデータベースウィンドウの <マクロ> ボタンをクリックし、<新規作成> ボタンをクリックします。 -
マクロ ウィンドウで、[商品] フォームのフォーカスを制御するマクロのアクションを設定します。[マクロ名] 列が表示されていない場合は、[表示] - [マクロ名] コマンドを選択するか、ツールバーの <マクロ名> ボタンをクリックしてください。
![[GRAPHIC: ]](JP401656A.gif)
マクロ名 アクション [引数] :コントロール名
---------- ------------------- -----------------------
GoToFirst コントロールの移動 商品コード
GoToLast コントロールの移動 生産中止
-
マクロ名を設定して保存します。ここでは、[マクロ 1] とします。
-
データベース ウィンドウから、[商品] フォームを選択して、[デザイン] ボタンをクリックします。フォームのデザインビューが開きます。
-
フォームの [開く時/OnOpen] プロパティに「マクロ 1.GoToFirst 」を設定します。プロパティシートを表示するには、[表示] - [プロパティ] コマンドを選択するか、ツールバーの <プロパティ> ボタンをクリックします。
プロパティ 設定値
----------- -------------------
開く時 マクロ 1.GoToFirst
-
ツールボックスからコマンドボタンのツールをクリックし、詳細セクションにコマンドボタンを 2 つ追加作成します。各コマンドボタンの プロパティを下記のように設定してください。
プロパティシートを表示するには、各コマンドボタンを選択して [表示] -[プロパティ] コマンドを選択するか、ツールバーの <プロパティ> ボタンをクリックします。
プロパティ 設定値
---------------------------------
名前 最初
透明 はい
フォーカス取得時 マクロ 1.GoToFirst
プロパティ 設定値
---------------------------------
名前 最後
透明 はい
フォーカス取得時 マクロ 1.GoToLast
-
フォームのコントロールの入力順を設定します。[編集] - [入力順の設定] コマンドを選択し、[入力順の設定] ダイアログボックスを表示します。[入力順:] ボックスで「最初」を「商品コード」の前 (最初のコントロールの位置) に移動します。「最後」を「生産中止」の後(最後のコントロールの位置) に移動します。移動するにはフィールドの左側のボタン (セレクタ) をクリックします。そのフィールドが選択されたら、再度フィールドの左側のボタン (セレクタ) をクリックし移動先までドラッグします。
-
フォームを保存してデザインビューを閉じます。
-
[商品] フォームをフォームビューで開きます。[生産中止] チェックボックスでTab や Enter キーを押しても、次のレコードには移動しません。また、[商品コード] テキストボックスで、Shift + Tab を押しても、前のレコードには移動しません。
解説
フォームで編集する最初のコントロールの前と、最後のコントロールの後にダミーのコントロール (コマンドボタン) を作成しています。Tab/Enter キーあるいは、Shift+Tab キーで そのダミーのコントロールがフォーカスを受け取った時に、編集するコントロールにフォーカスを移動しています。
Access 2.0 で操作を記述していますが、Access 1.1 でも同様の操作ができます。
但し、 Access 1.1 では、[名前/Name] プロパティは [コントロール名/ControlName] です。
Keywords: KBHOWTO KB401656
Technology: kbAccessSearch