[Access] 指定文字列を利用した検索結果からコンボボックスのRowSourceを設定
2008/03/03
フォーム上に設定したテキストボックスのフォーカス喪失後に、コンボボックスのデータソースを入れ替え、レコードの1番目の値をコンボボックスに設定する
Private Sub fooTb_LostFocus() 'piyoテーブルのfuga列にテキストボックス「foo」コントロールに '入力された文字列と前方一致するレコードを持つhoge列を抽出 'fooTb: 検索文字列入力用テキストボックス Dim getCbListSql As String getCbListSql = "SELECT DISTINCT hoge " & _ "FROM piyo " & _ "WHERE fuga LIKE '" & Me.fooTb.Value & "*';" 'コンボボックスに抽出したリストをセット 'barCb: コンボボックス Me.barCb.RowSource = getCbListSQL 'コンボボックスの初期値をリストの1番目に設定 If Me.barCb.ListCount >= 1 Then Me.barCb.Value = Me.barCb.ItemData(0) End If End Sub
環境
以下の環境で確認しました。
- Access 2002
- Windows XP Pro SP2