フォーム RecordsetType・レコードセット プロパティ [フォーム]
フォームのプロパティで、「データ」タブにある「レコードセット」についてです。
あまりこの項目を意識する必要はないと思うのですが、いちおうどんな物か知っておくと良いと思います。
設定できる内容は、以下の3つ。
設定値 | 内容 |
ダイナセット | 1 つのテーブルまたは一対一のリレーションシップが設定されたテーブルのフィールドに連結されているコントロールを編集できます。一対多のリレーションシップが設定されたテーブルのフィールドに連結されているコントロールの場合は、テーブル間で連鎖更新 (連鎖更新: テーブル間に参照整合性が設定されているリレーションシップにおいて、主テーブルでレコードを変更すると、関連テーブルのすべての関連レコードが更新されることです。)が有効に設定されていない限り、"一" 側の結合フィールドからデータを編集することはできません。(既定値) |
ダイナセット (矛盾を許す) | フィールドに連結されたすべてのテーブルとコントロールを編集できます。 |
スナップショット | フィールドに連結されたテーブルまたはコントロールは編集できません。 |
内容は、ヘルプから引用しました。
各設定値の内容を、順に説明します。
コントロールウィザードを表示させない設定にする [ACCESS]
フォームにコントロールを配置した際、ウィザードが表示される場合があります。
主な設定内容が順に表示されるので、最初のうちは便利ですが、ウィザードで設定できる内容は、すべてプロパティからも設定可能なので、慣れてくると煩わしく感じます。
ウィザードに出て来て欲しくなくなったら、下記の設定で、表示されなくできます。
フォームデザインの画面で、「フォームデザインツール」の「デザイン」タブに表示されているコントロール一覧の右端にある、下向きの矢印をクリックします。
「コントロールウィザードの使用」のアイコンが黄色で表示されている場合、コントロールを配置した際、ウィザードが表示されます。
「コントロールウィザードの使用」をクリックして、非選択状態にすることで、ウィザードが表示されなくなります。
フォーム フォームの最大化・最小化・復元・移動 [フォーム]
フォームウィンドウに関する操作についていろいろです。
本題の前に、確認事項です。
ACCESS2007以降、ACCESS内のウィンドウの表示のされ方の種類が1つ追加されました。
デフォルトでは、上図のように、タブでウィンドウを切り替えるようになっています。
この場合、1つのウィンドウがACCESSのウィンドウ内いっぱいに表示されるので、この記事の操作は適用されません。
この記事の内容は、従来の複数のウィンドウが重なって表示される場合の操作になります。
設定の変更方法は「複数ウィンドウの表示のされかた」を、参照してください。
VBA フォーカスを移動する [VBA]
フォーカスは、現在操作対象となっているコントロールを示します。
例えば、画面上にテキストボックスAと、テキストボックスBの、2つのテキストボックスが配置されているとします。
テキストボックスAにフォーカスがある場合、キーボードから入力を行うと、その内容はテキストボックスAに入力されます。
この時、テキストボックスBへ入力を行いたい場合は、フォーカスをテキストボックスBに移動させます。
フォーカスを移動させるには、通常のユーザの操作では、目的のコントロールをマウスでクリックする、タブキーを押下する、などがあります。
これをVBから行うには、SetFocusメソッドを使用します。
テキストボックスA(txtA)にフォーカスを移動する場合は、
Me.txtA.SetFocus
と、します。
コントロールのメソッドなので、対象となるコントロールにSetFocusメソッドがある場合のみ使用可能です。
入力系のコントロールであれば、テキストボックス(TextBox)、コンボボックス(ComboBox)、リストボックス(ListBox)、チェックボックス(CheckBox)などです。
フォーカスを移動させようとしているコントロールが、フォーカスを受け取れない状態の場合は、エラーになります。
Enabled(使用可能)プロパティがFalseの時などです。
VBA フォーム上でレコードを検索する [VBA]
フォーム上にデータ一覧を表示させ、指定された文字を含むレコードを検索し、そのレコードへ移動する方法です。
この方法を活用する場面があるかどうかは分かりませんが、フォームのRecordsetは(通常)DAOであって、DAOのメソッドが利用できる、と言うことを知っておくと、いろいろ応用が利くと思います。
解説用のフォームです。
連結フォームを帳票フォームで作成し、データの一覧を表示させています。
フォームの上部分の「検索」テキストボックスに文字を入力し、「先頭から検索」ボタンをクリックすると、都道府県名にその文字を含むレコードに移動するようにします。