オプショングループ(まとめ)
オプショングループに関連するページ
オプショングループの作成
こちらは、Accessで作成したフォームに、オプションボタンを設置して、それぞれの項目を選択できるようにしています。このように複数のオプションボタンを設置して、そのうちどれかひとつを、選択できるようにするには、オプションボタンを、オプショングループの中に入れておく必要があります。
オプショングループとオプションボタンを設置するには、フォームをデザインビューで開けて、リボンの「フォームデザインツール」「デザイン」の中から、「オプショングループ」をクリックします。
オプショングループで人口規模別に表示を切り替える。
「人口500万人以上」のオプションボタンをオンにして、「都道府県表示」ボタンを押すと、このようなレポートが表示されます。
「都道府県表示」(ボタン1)のクリック時イベントにコードを書きます。それぞれのオプションボタンをオンにすると、そのオンにされたオプションボタンのオプション値が、オプショングループ(フレーム1)のValueプロパティに格納されます。4つのオプション値をSelect~Caseステートメントで、それぞれの人口規模で条件分岐します。そして、レポートを印刷プレビューモードで開きます。
Private Sub ボタン1_Click()
Select Case Me.フレーム1.Value
Case 1
DoCmd.OpenReport "R_都道府県", acViewPreview, , "県人口 >= 5000000"
Case 2
DoCmd.OpenReport "R_都道府県", acViewPreview, , "県人口 >= 2000000 and 県人口 < 5000000"
Case 3
DoCmd.OpenReport "R_都道府県", acViewPreview, , "県人口 >= 1000000 and 県人口 < 2000000"
Case 4
DoCmd.OpenReport "R_都道府県", acViewPreview, , "県人口 < 1000000"
Case Else
DoCmd.OpenReport "R_都道府県", acViewPreview
End Select
End Sub
標準モジュールに4つのパブリック変数を宣言します。この4つの変数は、「都」「道」「府」「県」それぞれの件数を格納するための変数とします。
Option Compare Database
Option Explicit
Public tokyo As Integer
Public hokkai As Integer
Public fu As Integer
Public ken As Integer
そして、「都道府県表示」ボタンクリック時イベントに、それぞれの件数をDCount関数でカウントした数を変数に入れるコードを追加します。人口規模が500万人以上の「Case1」は、このようになります。
Private Sub ボタン1_Click()
Select Case Me.フレーム1.Value
Case 1
tokyo = DCount("都道府県", "T_都道府県", "県人口 >= 5000000 and 都道府県 = '東京都'")
hokkai = DCount("都道府県", "T_都道府県", "県人口 >= 5000000 and 都道府県 = '北海道'")
fu = DCount("都道府県", "T_都道府県", "県人口 >= 5000000 And 都道府県 like '*府'")
ken = DCount("都道府県", "T_都道府県", "県人口 >= 5000000 And 都道府県 like '*県'")
DoCmd.OpenReport "R_都道府県", acViewPreview, , "県人口 >= 5000000"
レポートフッターのフォーマット時イベントにコードを書きます。表示されている都道府県の件数に「都」や「道」などの文字列を連結させて、テキストボックスに表示させます。
Private Sub レポートフッター_Format(Cancel As Integer, FormatCount As Integer)
Me.テキスト7 = tokyo & "都"
Me.テキスト8 = hokkai & "道"
Me.テキスト9 = fu & "府"
Me.テキスト10 = ken & "県"
End Sub
チェックボックスでレポートの表示を切り替える。
こちらは、Accessで作成したフォームにチェックボックスを単独で配置しています。「人口500万人以上」のチェックボックスをオンにして、「都道府県表示」ボタンをクリックすると、人口500万人以上の都道府県を抽出したレポートが表示されます。
コマンド1(都道府県表示ボタン)クリック時イベントにコードを書きます。
- チェック1(チェックボックス)にチェックが入っている時と、入っていない時で、If Elseステートメントで条件分岐をします。
- Ifで、チェック1のValueプロパティがTrueのとき、抽出条件を、[県人口]フィールドの値が500万以上に指定して、レポートを印刷プレビューモードで開きます。
- ElseIfで、チェック1のValueプロパティがFalseのとき、抽出条件は指定せずに、レポートを印刷プレビューモードで開きます。
- それ以外、Elseのときも、抽出条件は指定せずに、レポートを印刷プレビューモードで開きます。
Private Sub コマンド1_Click()
If Me.チェック1.Value = True Then
DoCmd.OpenReport "R_都道府県", acViewPreview, , "県人口 >= 5000000"
ElseIf Me.チェック1.Value = False Then
DoCmd.OpenReport "R_都道府県", acViewPreview
Else
DoCmd.OpenReport "R_都道府県", acViewPreview
End If
End Sub
次に、レポートの読み込み時イベントにラベルの表示を変更します。
チェック1のValueプロパティがTrueのとき、タイトルラベルの表示を「人口500万人以上」とします。それ以外の時は、なにも記述していませんが、元々設定している「都道府県一覧」と表示されます。
Private Sub Report_Load()
If Forms!F_main!チェック1.Value = True Then
Me.lbl_標題.Caption = "人口500万人以上"
End If
End Sub
オプショングループで、パターンの違うレポートを表示する。
こちらは、日本を10の地域に分類し、各地域の人口を載せた一覧表と、さらに各地域の都道府県のデータを一覧にした、サンプルレポートです。この2つの一覧表は、1つのレポートから作られており、レポートの「読み込み時」イベントにコードを書くことで、表示するパターンを変えています。
こちらが、都道府県別の県庁所在地や人口などを載せた、一覧となっています(近畿地方)。
その表示の切り替えをするために、フォームにオプションボタン2つ用意します。こちらは、フォームのデザインビューで、このオプションボタンは、オプショングループウィザードで、オプショングループとして作っていくようにします。
こちらが、レポート読み込み時イベントに記述するコードです。
Option Compare Database
Option Explicit
Dim aFrame As Integer
Private Sub Report_Load()
aFrame = Forms!F_main!フレーム1.Value
Select Case aFrame
Case 1
Me.lbl_標題.Caption = "日本の地域一覧"
Me.地域IDヘッダー.ForceNewPage = 0
Me.地域IDヘッダー.Height = 283
Me.lbl_都道府県.Visible = False
Me.lbl_県庁所在地.Visible = False
Me.lbl_人口.Visible = False
Me.lbl_県花.Visible = False
Me.詳細.Visible = False
Me.lbl_合計.Visible = False
Case 2
Me.lbl_地域人口.Visible = False
Me.地域IDヘッダー.ForceNewPage = 1
Me.直線2.Visible = False
Me.レポートフッター.Visible = False
End Select
End Sub
コメントフィード
トラックバックURL : https://gyoumuka.cyou/wp-trackback.php?p=2937