メールマガジン【アクセスで作るシリーズ】


バックナンバー 【会計ソフト編】 解説編 第3号
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

    ACCESSで作るシリーズ  【会計ソフト編】

    発 行 : Yoshihisa Fukuda      2000.07.27  解説編 第3号

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------
今回と次回の2回に分けて、リストボックスとコンボボックスの設定に関する解説
をします。
今回はテーブル、クエリーを元にしたリストボックスとコンボボックスの設定です。

--------------------------------------
 リストボックスとコンボボックスの違い
--------------------------------------
 まず、リストボックスとコンボボックスの違いを見てみましょう。

 リストボックスは、選択する項目が一覧表示されていて、表示しきれない場合は、
 右端に垂直スクロールバーが表示され、スクロールしながら選択します。
 コンボボックスは、選択する項目を右端の[▼]ボタンで開いて選択します。
 見た目の違いは、これくらいですが、操作してみると他にも違いがあります。
 コンボボックスは選択項目から選択する以外に、テキストボックスのように直接
 入力する事ができますが、リストボックスでは、直接入力する事はできません。
 また、リストボックスは複数項目の選択ができる場合(プロパティの設定による)
 もありますが、コンボボックスでは複数選択はできません。

 通常、これらの違いを考慮して、リストボックスを使うか、コンボボックスを使う
 かを決めていきます。

 当然、これらの違いにより、設定できるプロパティも変わってきます。

 今回の解説編では、リストボックスやコンボボックスの設定として、この2つの
 コントロール特有のプロパティの解説を行います。
 他のコントロール(テキストボックスなど)と共通のプロパティの解説は、その時
 の解説で行います。

--------------------------------------
 リストボックスとコンボボックスで特有なプロパティ
--------------------------------------

 リストボックスとコンボボックスのプロパティで特有のプロパティに値集合タイプ
 と値集合ソースがあります。

 これらは、選択項目の要素となる、元のデータを示します。
 リストボックスやコンボボックスの選択項目として、テーブルやクエリーのデータ
 と、固定の値と、テーブルやクエリーのフィールド名を指定できます。
 このいずれかを指定するのが、[値集合タイプ]プロパティです。

 次に、[値集合ソース]プロパティですが、これは[値集合タイプ]プロパティの指定
 により、設定の仕方が変わります。

 [値集合タイプ]プロパティが[テーブル/クエリー]か[フィールドリスト]の時、
 [値集合ソース]プロパティはテーブル、またはクエリーを設定します。

 [値集合タイプ]プロパティが[値リスト]の時は、[値集合ソース]プロパティに直接
 選択項目に表示(使用)する値を記述します。
 この記述方法は次回行います。

--------------------------------------
 [値集合タイプ]プロパティが[テーブル/クエリー]の設定
--------------------------------------
 [値集合ソース]プロパティはテーブル、またはクエリーを設定します。
 設定方法は、テーブルの場合、直接テーブル名を記述するか、右側の[▼]ボタンで
 既にあるテーブルを選択するかで設定します。

 また、クエリーを設定する場合、直接クエリー名を記述するか、右側の[▼]ボタン
 でクエリーを選択して設定する方法と、右端の[...]ボタンでクエリービルダーを
 用いて、クエリーを直接記述して設定する方法があります。

 以降のプロパティはテーブル、クエリーのどちらでも設定内容は同じになります。

 [列数]プロパティは選択項目の列数を指定します。
 リストボックスやコンボボックスは[値集合ソース]プロパティで設定したテーブル
 やクエリーのフィールドを左端から順番に、この[列数]プロパティで指定された
 数まで表示されます。
 設定する値は1~[値集合ソース]プロパティに設定したテーブルやクエリーの
 フィールド数となります。(それ以上の値を設定してもフィールド数になります)

 [列幅]プロパティは[列数]プロパティで指定した列に対して、個々に幅を指定
 します。
 指定方法は1つの列を;で区切って指定します。
 単位はWindowsのコントロールパネルの[地域のプロパティ]ダイアログ ボックス
 の[数値]タブの[単位]で設定した単位になります。
 ここの設定がcmの場合、インチで入力する事も可能ですが、直ぐにcmに変換され
 ます。
 例えば、[列数]プロパティが3の場合、[XXXcm;XXXcm;XXXcm]といった具合です。
 (XXXは列の幅)

 [連結列]プロパティは、選択した値を取り込む時、どの列の値を取り込むかを
 指定します。
 コントロールが連結コントロールの場合、[連結列]プロパティで指定したデータ
 の型はフィールドコントロールソースで指定したフィールドのデータ型と一致しな
 くてはなりません。

 [リスト行数]プロパティは、コンボボックスの時のみ指定するプロパティです。
 コンボボックスを開いた時、選択項目を何行で表示するかを指定します。
 選択項目の数が、この値より小さい場合、選択項目数の行数でコンボボックスは
 開きます。
 選択項目の数が、この値より大きい場合、右端に垂直スクロールバーが表示されて
 スクロールで選択するようになります。

 [リスト幅]プロパティも、コンボボックスの時のみ指定するプロパティです。
 コンボボックスを開いた時、選択項目の幅全体を指定します。
 選択項目が複数列の場合、[列幅]プロパティの各列幅の合計が、この[リスト幅]
 プロパティより大きい場合、水平スクロールバーでスクロールして表示する様に
 なります。
 また、[リスト幅]プロパティはコンボボックスより狭くする事はできません。

--------------------------------------
 [値集合タイプ]プロパティが[テーブル/クエリー]の設定例
--------------------------------------
 以下にコンボボックスの設定の例を示します。
(テーブルに勘定科目テーブルを使用しています)

 [値集合タイプ]プロパティ [テーブル/クエリー]
 [値集合ソース]プロパティ [KamokuTable]
 [列数]プロパティ     [2]
 [列幅]プロパティ     [1cm;1cm]
 [連結列]プロパティ    [1]
 [リスト行数]プロパティ  [5] 
 [リスト幅]プロパティ   [2cm]

 この場合、コンボボックスを開くと、科目IDと科目コードが、各幅1cmで表示され、
 科目テーブルのデータが4件以内ならそのデータの行数、科目テーブルのデータが
 5件以上なら、5行表示され垂直スクロールバーが表示されます。
 開いた一覧の全体幅は2cmとなります。

 ここで、[値集合ソース]プロパティでクエリービルダーを起動し、[KamokuTable]
 を元にクエリーを作成します。
 上段の[KamokuTable]の[KamokuID][KamokuName]をダブルクリック
 して下段のフィールドに設定します。

 そして、コンボボックスを開くと、今度は科目IDと科目名が、各幅1cm(途中で切
 れた状態)で表示されます。
 それ以外は変わりません。

 次に、[列幅]プロパティを[1cm;3cm]に変更します。
 すると、今度は科目IDが1cmで、科目名が3cmで表示されます。
 しかし、一覧の全体幅は2cmのため、科目名の後ろ2cmは水平スクロールバーで
 スクロールして表示しなければなりません。

 そこで、[リスト幅]プロパティを[4cm]にすると、今度は科目IDが1cmで、科目名が
 3cmで、一覧の全体幅が4cmとなり、水平スクロールなしで表示される様になります。

 次に、[リスト行数]プロパティを[3]にすると、表示される一覧が3行に変わりま
 す。
______________________________________
◆◇ あとがき       ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

 今回はテーブル/クエリーを元にしたリストボックス、コンボボックスの設定を
 中心に解説しました。

 テーブル/クエリーを元にしたリストボックス、コンボボックスと、固定値の
 リストボックス、コンボボックスの設定は、切り分けて考えた方が理解しやすい
 と思います。

 次回は固定値のリストボックス、コンボボックスの設定方法を解説します。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

◇ ACCESSで作るシリーズ 【会計ソフト編】
◇ 発 行 元  :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
  ご質問等   :y.fukuda@ro.bekkoame.ne.jp

◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
  しています。(まぐまぐID:0000030446)
◇ バックナンバー:http://www.bekkoame.ne.jp/ro/y.fukuda/
◇ 登録・解除  :http://www.bekkoame.ne.jp/ro/y.fukuda/

 Copyright(C) 2000 Yoshihisa Fukuda All rights reserved.

◇転載について
 このメールマガジンの無断転載などは、一切禁止です。
 転載をご希望の方は、事前にメールで連絡をください。
◇免責
 このメールマガジン及びホームページの内容による、いかなる損害、障害などに
 関して発行者は一切の責任を負いません。
 掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□