Access + Webのホームへ戻る

マスタをドロップダウンリストに表示させるには

 

Access の得意先マスタをドロップダウンリストに表示させる方法を説明します。データ入力のフォームから得意先、仕入先、商品などのコードを入力するとき、ドロップダウンリストにマスタの一覧を表示させて一覧からコードを選択させると使い勝手の良いアプリケーションになります。

 

● 得意先マスタをドロップダウンリストに表示させるサンプル

 

Access + Webのダウンロードにサンプルが収録されています。ダウンロードの目次を表示させたら、「得意先マスタをドロップダウンリストに表示させるサンプル」をクリックしてください。Internet Explorerの左側のフレームには、ASPのソースが表示されます。右側のフレームには、実行結果が表示されます。

 

図の行12-17では、Access のデータベースado.mdbを接続する処理をしています。行12-13では、OLEDBProviderData 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-36for…nextでは、二次元の配列変数に格納されている得意先マスタからドロップダウンリストのアイテムを生成しています。HTML<option>タグのvalue=には、得意先コードを設定します。<option></option>の間には、得意先名を挿入します。行32-35Response.Writeを実行すると以下のような<option>・・・</option>タグのペアがブラウザに送信されます。なお、得意先はフリガナの昇順に並べ替えられています。定数名conCustIDconCustNameは、行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-42for…nextでは、ドロップダウンリストのアイテムを生成しています。二次元の配列変数avarCustには、得意先マスタが格納されています。行32-36では、得意先コードが34のアイテム(ジャンボストアー)をデフォルト表示させるために<option>タグにselected属性を挿入しています。行37-41Response.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>

 

 

図 ドロップダウンリストの特定のアイテムをデフォルト表示させたサンプル

Access + Webのホームへ戻る