none
[Access2013] コンボボックスにて重複した値を選択したとき、その値に関連するデータを表示させたい RRS feed

  • 質問

  • こんにちは。お世話になります。

    【環境】
    ・Windows7 64ビット
    ・Access2013

    <テーブルA:主キーは『ID』>
    |ID|番号|苗字|名前|
    _____________
    |01|1230|田中|太郎|
    |02|1231|鈴木|仁美|
    |03|1231|石井|次郎|
    |04|1232|山田|一郎|

    |10|1255|小田|花子|
    _____________

    <コンボボックスBの設定:番号と苗字を表示する>

    With me.コンボボックスB
    .RowSource = "SELECT ID,番号,苗字 FROM テーブルA ORDER BY 番号"
    .BoundColumn = 2
    .LimitToList = True
    .AutoExpand = True
    .ColumnCount = 3
    .ColumnWidths = "0cm;2cm;3cm"
    .ListRows = 15
    End With


    <コンボボックスCの設定:苗字を表示する>

    me.コンボボックスC = [コンボボックスB].[column](2)

    【質問】
    コンボボックスBにて、『番号が[1231]で苗字が[石井]』のデータを選択したとき、
    コンボボックスBでは、『番号が[1231]で苗字が[鈴木]』のデータが選択された状態になり、
    コンボボックスCには[鈴木]と表示されてしまいます。

    コンボボックスBにて『番号が[1231]で苗字が[石井]』のデータを選択したとき、
    コンボボックスCに[石井]と表示されるための方法を教えてください。
    よろしくお願いします。


    • 編集済み nyandaba 2014年11月5日 2:26
    2014年11月5日 2:10

回答

  • BoundColumn=2 で2列目と連結していますので、1231 がValueに格納されます。

    1231が複数ある場合は上位の行が選択されます。

    ID がユニークのようですので、BoundColumn=1 とすれば希望の動作になります。

    • 回答としてマーク nyandaba 2014年11月5日 4:13
    2014年11月5日 3:03

すべての返信

  • BoundColumn=2 で2列目と連結していますので、1231 がValueに格納されます。

    1231が複数ある場合は上位の行が選択されます。

    ID がユニークのようですので、BoundColumn=1 とすれば希望の動作になります。

    • 回答としてマーク nyandaba 2014年11月5日 4:13
    2014年11月5日 3:03
  • hatena19さん、こんにちは。

    返信ありがとうございます。

    >ID がユニークのようですので、BoundColumn=1 とすれば希望の動作になります。

    早速、上記の方法を試してみたところ、希望の動作になりました。

    教えていただき、ありがとうございました。


    2014年11月5日 4:25