|
私は、RangeのCopyfromrecordsetメソッドを使って、一度
セルに落としてから対象コンボボックスのListに代入する方法を
よく使いますが・・・。
>DB(ACCESS)のテーブルからSQLで抽出したデータをExcel.Userform上の
>ComboBox〜Cbo_現場代理人)〜のデータとして取り扱うのに
> 下記の方法で行って、上手くいっています。
>今回、下記の**ここから** **ここまで**の部分を
> cbo_現場代理人.LIST = Rst1
>というように、取得したレコードセットを一挙にコンボのリストに
>とりこみたいのですが、上手くいきません。
>実際に取り込みたいレコードセットのfield数(column)は6列です
>
>一度Worksheetsに貼り付けて、RowSorceで・・ というのもなんだか嫌というより
>わからないから他の方法でというのが嫌です。
>
>みなさんのアドバイスを是非いただきたいので、どうぞ宜しくお願いします。
>
> Set Rst1 = New ADODB.Recordset
> msql = "SELECT 氏名,所属 FROM 社員マスタ;"
> Rst1.Open msql, Cn
>******* ここから*********
if not Rst1.EOF then
With Me.cbo_現場代理人
.Column = Rst1.GetRows(, 1)
End With
end if
>******* ここまで ********
> Set Rst1 = Nothing
なんて方法も考えられます。
|
|