こんばんは

文系 Takaです。

 

暑くなったり嵐が来たりと天候がめまぐるしく変化していますが、皆さん風邪などひいていませんか?

 

私はどうもやられてしまったようで、ノドが痛くて仕方ないです。

どなたかよく効く薬をご存知でしたら教えていただけないでしょうか…

 

 

さて、前回はAccessのフォームオブジェクトを作成し、そこに1つ目のリストを設置しました。

 

今回はさらにリストを配置していきますが、前回に比べて少し作業が多くなりますので、よくみて作っていってくださいね!

 

 

フォームにリストを設置する-2

それでは、前回閉じたAccessファイルを開いて、オブジェクトリストから「テンプレ探し」フォームを開きましょう。

 

フォームをデザインビューにする

フォームが開いたら、「デザインビュー」というフォームの編集画面に切り替えます。

 

ホームタブの「表示」と文字が書かれている部分をクリック

すぐ下に出てくるメニューから「デザインビュー」を選択しましょう。

 

 

 

以下のようにグリッドが表示されているフォーム画面に切り替わりましたか?

 

 

切り替わったら次の操作をおこなっていきましょう。

 

要素2のリストボックスを設置する

ここからはリストボックスを設置します。

手順は以下の3工程でしたね。

 

<手順>

リボンのデザインタブをクリック

コントロールのリストからリストボックスを選択

マウスカーソルの絵が変わったらフォーム上でクリック

 

リストボックスのアイコンは

これでしたね。

 

新たにリストを設置すると、以下のようなウィンドウが開く場合がありますが、これは閉じましょう。

 

 

 

フォームにリストボックスが追加され、画面右側にプロパティシートが表示されているでしょうか。

 

 

 

要素2リストボックスの設定を行う

ではプロパティシートで設定をおこなっていきましょう。

 

まず、「データ」タブをクリックします。

前回も設定した、「集合値ソース」を変更しましょう。

今回は「G_要素2」を選択します。

 


 

また、「連結列」の値が「1」か確認してください。

 

この「連結列」の値は、集合値ソースとして設定したテーブルやクエリの、どの列に入っている値を「要素2」リストの値として利用するかを設定するものです。

 

 

設定の仕方は上記のデータを集合値ソースとした場合

「要素2」列の値を使う場合は1

「要素1」列の値を使う場合は2

を設定します。

 

 

 

では続きの設定をしていきましょう。

次は「書式」タブを選択します。

 

書式タブでは、「列数」と「列幅」の設定をします。

 

 

列数には、今回このリストに設定するクエリの列数を入力ししていきます。

 

■列数

集合値ソースに設定したクエリ「G_要素2」は列数2のクエリなので、「2」と入力します。

 

■列幅

列幅の設定は上の画像の設定状況ならば以下とします。

 3cm;0cm

 

最初の3cmというのは、書式タブの中の「幅」という項目に記載されている値と同じにします。

後の0cmというのは、集合値ソース「G_要素2」の2列目、要素1の値をこのリストには表示しないための設定です。

 

こうすることで、以下の画像のように、要素2のリストに表示される値を要素2のデータのみにすることができます。

 

今回の設定では、要素2のリストで見ることができる値を、要素2の列のみにしています。

 

 

G_要素2クエリの設定を調整する

続いてG_要素2クエリの調整を行います。

この調整を行うことでG_要素2クエリの動きを

「要素1のリストボックスで選択した値を持っているデータのみを絞り込む」

ようにすることができます。

 

では操作していきます。

 

 

要素1リストの名前を確認する

フォーム編集画面の「要素1」のリストボックスを選択しましょう。

 

プロパティシートの「その他」タブの中にある「名前」の項目の内容を覚えるかコピーしてメモ帳などに貼り付けておきます。

 

 

 

念のため、ここでは要素1リストの名前を

「リスト0」とします。

 

 

G_要素2クエリをデザインビューで開く

Accessのオブジェクト一覧にあるG_要素2クエリにマウスカーソルを合わせ右クリックします。

 

メニューが表示されたら「デザインビュー」をクリックしてください。

 

 

 

以下のようにクエリのデザイン画面が表示されます。

 

 

 

クエリの抽出条件を設定する

今回G_要素2クエリに持たせたい動きは

 要素1リストの値で要素2の値を絞り込む

ことでしたよね。

 

その動きを実現するため、デザイングリッドの

「要素1/抽出条件」

に以下を記載します。

 

 Forms![テンプレ探し]![リスト0]

 

上の文は、

 「Forms![テンプレ探し]!」

 「テンプレ探しフォーム」の中のパーツを使うことを指定

 

 「[リスト0]」

 リスト0(要素1リスト)に入力された値が抽出する条件

 

であることを指定しています。

 

 

上記の入力が済んだら、デザイングリッドの要素1の列にある「集計」行の値を「Where 条件」に変更しましょう。

 

以下の画像のように設定できれば設定完了です。

 

 

クエリを一度閉じて変更を保存しておきます。

 

 

クエリの動作をチェックする

それでは抽出条件を設定したクエリの動作チェックをしてみましょう。

 

現在デザインビューで表示している「テンプレ探し」フォームをフォームビューに切り替えましょう。

 

リボンのデザインタブ左端にある「表示」と文字が書かれたすぐ上のアイコンをクリックすると切り替えられます。

 

 

切り替えたら、要素1リストに表示されている項目から一つ選択します。

 

 

この状態でAccessのオブジェクト一覧から、「G_要素2」クエリをダブルクリックして開いてみましょう。

 

以下のように、dataテーブルに保存されているデータのうち、リストボックスで選択した要素1のデータを持つ、要素2データだけが表示されたでしょうか。

 

 

上の画像では、

 

要素1リストボックス

  →「テストデータ」選択

G_要素2クエリ

  →要素2の「追加クエリ」のみ表示

dataテーブル

  →要素1に「テストデータ」を持つ行は1行目のみ

   そのため1行目の要素2「追加クエリ」が表示された

 

となります。

 

dataテーブルに色々と行を追加して試して見るのもいいですね。

 

 

長くなってしまったので今回はここまで。

 

次回は要素3のリストの設置と、リストを選択した後に情報を表示するテキストボックスを設置、画面の整理を行います。

 

それでは、また次回お会いしましょう。