Access2010でオプショングループを作成して、その選択データをテーブルに保存する方法です。
画像はAccess2010ですが、ほかのバージョンでも操作は同じです。
参考ここでは[ドキュメントウィンドウオプション]で[ウィンドウを重ねて表示する]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
コントロールウィザードの確認
フォームをデザインビューで開きます。
[デザイン]タブにある[その他]ボタンをクリックして、
[コントロールウィザードの使用]がオンになっていることを確認します。
オプショングループの作成
[デザイン]タブの[コントロール]グループある[オプショングループ]ボタンをクリックします。
参考[オプショングループ]のボタンが見つからない場合は、[レイアウトビュー]になっているかもしれません。
[表示]ボタンから[デザインビュー]を選択して切り替えてください。ステータスバーの右下に表示されているボタンでも切り替えができます。
オプションに付ける名前を入力
フォーム内でドラッグします。
[オプション グループ ウィザード]が表示されますので、[ラベル名]に表示する名前を入力します。
ここでは、20代、30代、40代、50代、60代と入力して、[次へ]のボタンをクリックします。
既定のオプションの設定
既定のオプションを設定するかどうかを指定します。
ここでは[次のオプションを既定にする]を選択して、[20代]と表示させるようにします。
[次へ]のボタンをクリックします。既定値は、設定後、プロパティで変更できます。
値が設定されます。
[次へ]のボタンをクリックします。
ボタンの種類とスタイルの選択
ボタンの種類とスタイルを選択します。
スタイルには、以下の5つがあります。
- 枠囲み
- 影付き
- 標準
- くぼみ
- 浮き出し
ここでは、[オプションボタン]と[枠囲み]を選択します。サンプルに表示されるので確認しながら選択することができます。
[次へ]のボタンをクリックします。
標題を指定
オプショングループの標題となるものを入力します。
ここでは、[あなたの年代を教えてください]と入力しています。
[完了]ボタンをクリックします。
フォームビューで確認
フォームビューに切り替えて、確認します。
デザインビューからフォームビューに切り替えるショートカットキーは[F5]キーです。
作成したフォームに名前を付けて保存します。
参考オプションボタンの既定値は、フレームのプロパティで変更できます。
[データ]タブの[既定値]で[0]に設定すると、フォームを表示したときにどれも選択していない状態になります。
選択したデータをテーブルに保存する方法
フォームのオプショングループで選択したデータをテーブルのフィールドに格納する方法です。
テーブル[Tアンケート]は、以下のように作成しています。
参考先にフォームのプロパティでレコードソースを指定して、オプショングループウィザードを起動すると、スタイル選択の前に[データの保存先]の設問が表示されます。
ただし、ラベルに割り当てられた数値が保存されます。
保存先テーブルの指定とフィールドを挿入
フォームをデザインビューで開いて、フォームのプロパティを表示します。
そして、[データ]タブを開いて、[レコードソース]に保存先のテーブルを指定します。
そして、[既存のフィールドの追加]をクリックして、[年代]フィールドをフォームに挿入します。
参考フィールドを追加するとき、テキストボックスのみを追加したい場合は[Ctrl]キーを押しながらドラッグします。
-
テキストボックス作成時(フィールドの追加時)にラベルを挿入したくない
Accessのフォームやレポートのデザインビューでテキストボックスを作成すると、自動的にラベルも挿入されてしまいます。 これは、意外と面倒に ...
ラベル名の確認
ラベル名は、各ラベルを選択すると、プロパティに表示されるので確認します。
プロパティの[名前]タブの[名前]で確認できます。
ここでは、以下のようになっています。
必要であれば、名前を変更してください。このラベル名はメモしておきます。
- 20代---ラベル4
- 30代---ラベル6
- 40代---ラベル8
- 50代---ラベル10
- 60代---ラベル12
フレームの更新後処理のイベントに入力
フレームを選択して、フレームのプロパティを表示します。
[イベント]タブの[更新後処理]の[ビルダー選択]ボタン[…]をクリックして、[ビルダーの選択]ダイアログボックスを表示します。
[ビルダーの選択]ダイアログボックスが表示されますので、[コードビルダー]か[マクロビルダー]を選択します。
どちらかで設定します。どちらで設定しても動作は同じです。
[マクロビルダー]と[コードビルダー]の相違点などは以下の記事で解説しています。
-
マクロアクション(マクロビルダー)とVBA(コードビルダー)
Accessでは、マクロアクション(マクロの実行アクション)やVBA(Visual Basic for Applications)を使って一 ...
[コードビルダー]を選択して設定
[ビルダーの選択]ダイアログボックスで[コードビルダー]を選択して、[OK]ボタンをクリックします。
そして、以下のように入力します。ラベル名は、プロパティの[名前]で確認します。
Select Case フレーム7.Value
Case 1: 年代.Value = ラベル4.Caption
Case 2: 年代.Value = ラベル6.Caption
Case 3: 年代.Value = ラベル8.Caption
Case 4: 年代.Value = ラベル10.Caption
Case 5: 年代.Value = ラベル12.Caption
End Select
[マクロビルダー]を選択して設定
[ビルダーの選択]ダイアログボックスで[マクロビルダー]を選択して、[OK]ボタンをクリックします。
[マクロウィンドウ]が表示されますので、[新しいアクションの追加]の▼ボタンをクリックします。
[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。
一覧から[If]を選択します。
そして、[If]の[条件式]に以下のように入力します。
[すべてのアクションを表示]ボタンをクリックして、[新しいアクションの追加]から[値の代入]を選択します。
一番下までスクロールすると見つかります。
[値の代入]の[アイテム]には、以下のように入力します。
以下も、[Forms]![Fアンケート]! は省略してOKだと思います。
[値の代入]の[式]には、以下のように入力します。
入力が終わったら、[Else If の追加]をクリックします。
同様に以下のようにマクロアクションの入力を続けます。
同じようなマクロアクションを追加する場合は、コピー&ペーストすると効率的です。
-
マクロツールで既存のアクションをコピーして活用(再利用)するには
Accessでは多くのマクロアクションが使用できます。 しかし、毎回アクションを選択して入力するのは面倒ですね。 マクロアクションは、コピー ...
終わったら、上書きして[マクロウィンドウ]を閉じます。
設定後のプロパティには、[埋め込みマクロ]と表示されます。
フォームビューで動作の確認
フォームビューに切り替えて、選択したものがテキストボックスに表示されるのを確認してください。
デザインビューからフォームビューに切り替えるショートカットキーは、[F5]キーです。
オプションボタンをクリックして、年代が表示されるかを確認してください。
また、保存先テーブル[Tアンケート]の[年代]フィールドに格納されているかも確認してみてください。
アンケートなので、フォームのプロパティで[データ入力用]に変更するといいと思います。
フォームプロパティの[書式]タブも以下のように変更します。
変更後のフォームです。参考にしてください。
参考オプショングループを使ったフォームの作成は、以下の記事でも紹介しています。
-
オプションボタンでサブフォームに表示するデータを切り替えるには
オプションボタンでサブフォームのソースオブジェクトを変更する方法です。 下のようなオプショングループを設置して、サブフォームを組み込んだフォ ...
以下の記事では、オプションボタンの選択によって、レポートのレコードソースを切り替える方法を解説しています。
-
フォームのオプションボタンでレポートのレコードソースを切り替え
1つのテーブルから、クエリを作成してデータを抽出することはよくあります。 そのクエリをもとにレポートを作成するとき、レポートのレコードソース ...