マスタをドロップダウンリストに表示させるには
Access の得意先マスタをドロップダウンリストに表示させる方法を説明します。データ入力のフォームから得意先、仕入先、商品などのコードを入力するとき、ドロップダウンリストにマスタの一覧を表示させて一覧からコードを選択させると使い勝手の良いアプリケーションになります。
● 得意先マスタをドロップダウンリストに表示させるサンプル
Access + Webのダウンロードにサンプルが収録されています。ダウンロードの目次を表示させたら、「得意先マスタをドロップダウンリストに表示させるサンプル」をクリックしてください。Internet Explorerの左側のフレームには、ASPのソースが表示されます。右側のフレームには、実行結果が表示されます。
図の行12-17では、Access のデータベースado.mdbを接続する処理をしています。行12-13では、OLEDBのProviderとData Sourceを設定してstrConnectionに保存しています。行14-15では、ado.mdbの得意先テーブルから得意先コードと得意先名を抽出するSQLを作成してstrSQLに保存しています。このSQLには、ORDER BY句が指定されていますので、フリガナの昇順に並べ替えられます。行17では、ConnectionオブジェクトのOpenメソッドでado.mdbを接続しています。
12: strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
13: & "Data Source=" & server.MapPath("webdb/ado.mdb")
14: strSQL = "Select 得意先コード,得意先名" _
15: & " From 得意先 Order by フリガナ;"
16: set cnn = server.CreateObject("adodb.connection")
17: cnn.Open strConnection
行18では、ConnectionオブジェクトのExecuteメソッドで得意先マスタのレコードセットを生成しています。行19では、RecordsetオブジェクトのGetRowsメソッドでレコードセットの内容を二次元の配列変数avarCustに格納しています。
18: set rs = cnn.execute(strSQL)
19: avarCust = rs.GetRows
行20-21では、レコードセットを閉じて、データベースを切断しています。
20: rs.Close
21: cnn.Close
行22-23では、Recordset, Connectionオブジェクトを解放しています。
22: set rs = nothing
23: set cnn = nothing
行28-38では、得意先マスタのドロップダウンリストを生成しています。行28,38では、HTMLの<select>・・・</select>タグを定義しています。行29では、ドロップダウンリストのプロンプトメッセージ「得意先を選択してください!」を定義しています。ドロップダウンリストのアイテムにデフォルト(selected)の指定がないときは、先頭アイテムが表示されます。行31-36のfor…nextでは、二次元の配列変数に格納されている得意先マスタからドロップダウンリストのアイテムを生成しています。HTMLの<option>タグのvalue=には、得意先コードを設定します。<option></option>の間には、得意先名を挿入します。行32-35のResponse.Writeを実行すると以下のような<option>・・・</option>タグのペアがブラウザに送信されます。なお、得意先はフリガナの昇順に並べ替えられています。定数名conCustIDとconCustNameは、行9-10で定義しています。
<option value='39'>アリス亭</option>
<option value='5'>居酒屋ななべえ</option>
<option value='37'>イルカランド</option>
・・・
28: <select size="1" name="selCustID">
29: <option value="">得意先を選択してください!</option>
30: <%
31: for intR = 0 to UBound(avarCust,2)
32: response.write "<option value='" _
33: & avarCust(conCustID,intR) & "'>" _
34: & avarCust(conCustName,intR) _
35: & "</option>" & vbNewLine
36: next
37: %>
38: </select>
|
|
図 得意先マスタをドロップダウンリストに表示させたサンプル
● ドロップダウンリストのアイテムをデフォルト表示させるには
得意先マスタをドロップダウンリストに表示するとき、特定のアイテムをデフォルト表示する方法を説明します。ドロップダウンリストのデフォルト表示は、受注テーブルの得意先コードを更新するときなどに利用すると便利です。
Access + Webのダウンロードにサンプルが収録されています。ダウンロードの目次を表示させたら、「得意先マスタをドロップダウンリストに表示させるには(既定値をデフォルト表示」をクリックしてください。Internet Explorerの左側のフレームには、ASPのソースが表示されます。右側のフレームには、実行結果が表示されます。
図の行29-44では、ドロップダウンリストを生成しています。行29の<select>タグにsize=”10”を指定していますので、リストボックス型のドロップダウンリストが表示されます。このドロップダウンリストには、常時10アイテム表示されます。行31-42のfor…nextでは、ドロップダウンリストのアイテムを生成しています。二次元の配列変数avarCustには、得意先マスタが格納されています。行32-36では、得意先コードが34のアイテム(ジャンボストアー)をデフォルト表示させるために<option>タグにselected属性を挿入しています。行37-41のResponse.Writeでは、<option>・・・</option>タグをブラウザに送信しています。
<option value='23' >自然食なちゅらる</option>
<option value='34' selected>ジャンボストアー</option>
<option value='20' >商店せんしょう</option>
29: <select size="10" name="selCustID">
30: <%
31: for intR = 0 to UBound(avarCust,2)
32: if avarCust(conCustID,intR) = 34 then
33: strSelected = "selected"
34: else
35: strSelected = vbnullstring
36: end if
37: response.write "<option value='" _
38: & avarCust(conCustID,intR) & "' " _
39: & strSelected & ">" _
40: & avarCust(conCustName,intR) _
41: & "</option>" & vbNewLine
42: next
43: %>
44: </select>
|
|
図 ドロップダウンリストの特定のアイテムをデフォルト表示させたサンプル