2015-05-19 99 views
1

第一次在這裏問,很抱歉,如果你覺得它很煩人。 我一直在試圖用一個DB過程的結果集來填充一個Excel工作表中的ComboBox。到目前爲止,我已經正確地收到了結果集,但是當我嘗試指定要用來設置組合框值(響應的第三個)的列時,它始終使用id(第一列),甚至當我使用.BoundColumn命令如下:如何指定填充Excel Combobox的列?

cmd.ActiveConnection = conn 
cmd.CommandType = adCmdStoredProc 
cmd.CommandText = "mySP" 

Set rst = cmd.Execute() 

With rst 
    i = .Fields.Count 
    vData = .GetRows 
End With 

With Sheet1 
    With .ComboBoxP 
     .Clear 
     .BoundColumn = 3 
     .List = Application.Transpose(vData) 
     .ListIndex = -1 
    End With 
    .ComboBoxP.Text = "-- Pick one --" 
End With 

有什麼不對的命令爲了使代碼總是使用相同的列?可能是Excel版本問題(我用西班牙語使用MS Excel 2010)?

回答

0

您應該使用TextColumn屬性來設置向用戶顯示哪個值。 BoundColumn屬性集在您的代碼在用戶選擇後讀取控件的「值」屬性時獲取的值。