注意: DBCombo SelectedItem 屬性不會更新當您輸入的選取範圍

文章翻譯 文章翻譯
文章編號: 281940 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
全部展開 | 全部摺疊

在此頁中

徵狀

當您使用 [從 DBList32.ocx DBCombo 控制項的型別預先搜尋功能不會更新 SelectedItem 屬性,而且 DBCombo 並無法反映找到相符的項目。

解決方案

修正程式現在可以從 Microsoft,但它只用來修正本文所述的問題。因此只提供給已遭遇此特定問題的電腦。此修正程式可能會接受其他測試。因此,如果您不會嚴重影響這個問題,Microsoft 建議您等候下一個的 Visual Studio Service Pack 包含此修正程式。

如果要立即解決這個問題,請連絡 Microsoft 產品支援服務以取得此修正程式。如需 Microsoft 產品支援服務電話號碼及支援成本的相關資訊的完整清單,請造訪下列 Microsoft 網站]:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
注意: 在特殊情況中通常會因支援電話所產生的費用如果,可能就不收取 Microsoft 支援人員認為某特定更新程式可以解決您的問題。典型的支援成本將會套用到其他支援問題是所做不限定特定有問題的更新程式。

注意: 您必須擁有 Visual Studio 授權合約,以取得此修正程式。

狀況說明

Microsoft 已確認這是在 Microsoft 中的錯誤,會列在本文開頭的產品。

其他相關資訊

當一個 DBCombo 清單部分中選取一個項目控制項,SelectedItem 屬性包含一個書籤,您可以使用來重新定位選取的記錄在 [資料來源] 屬性會指定在資料控制項的資料錄集。使用者使用滑鼠或鍵盤選取項目是否應該更新這個屬性。因此,當您使用這個控制項的型別預先的搜尋功能時,您預期 SelectedItem 屬性輸入符合清單中的名稱的名稱並按下 ENTER 鍵之後更新。在另外 DBCombo 中的文字應反映出找不到相符的項目。但是,這項功能無法運作當您使用 [Visual Basic 6.0 中的 [標準資料繫結下拉式清單及出貨的內建資料控制項。

重製行為的步驟

  1. 建立新的標準 EXE 專案。預設會建立 Form1。
  2. 從 [專案] 功能表按一下 [元件]、 選取 [資料繫結清單控制項 6.0] 核取方塊,然後按一下 [[確定]
  3. 將資料繫結下拉式 DBCombo1,新增到 Form1。
  4. 加入兩個 TextBox 控制項,[文字 1] 和 [文字 2]。
  5. 新增資料控制項 Data1。
  6. 設定這些控制項的屬性設定如下:
    Data1-資料控制項
    資料庫名稱 = Biblio.mdb
    [資料來源] = 作者
    ReadOnly = True

    文字 2-TextBox 控制項
    資料來源 = Data1
    DataField = 作者
    可見 = False

    DBCombo1-資料繫結下拉式清單控制項
    [資料來源] = Data1
    ListField = 作者
  7. 將下列程式碼加入至 Form1 的一般宣告區段:
    Option Explicit
    
    Private Const UP_ARROW = 38
    Private Const DOWN_ARROW = 40
        
    Private Sub Data1_Reposition()
       '
       ' Copy Text from Bound Text2 to Unbound Text1.
       Text1.Text = Text2.Text
    End Sub
        
    Private Sub DBCombo1_KeyUp(KeyCode As Integer, Shift As Integer)
       Dim bmk As Variant
       Dim x As Integer
       Dim msg As String
    
       On Error GoTo ErrHandler
       '
       ' Save Bookmark on CR and Arrow Key Activity.
       Select Case KeyCode
          Case Asc(vbCr), UP_ARROW, DOWN_ARROW
              msg = "DBCombo1.SelectedItem has the value "
              bmk = DBCombo1.SelectedItem
              ' The next line raises error 13 if bmk has no value.
              For x = 0 To UBound(bmk)
                  msg = msg & bmk(x)
              Next x
              Data1.Recordset.Bookmark = bmk
              Debug.Print msg
       End Select
       Exit Sub
                
    ErrHandler:
       If Err.Number = 13 Then   ' Type mismatch
          Debug.Print "DBCombo1.SelectedItem is not assigned a value."
       Else
          MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical _
             + vbOKOnly
       End If
    End Sub
    
    Private Sub Form_Load()
       Text1.Text = ""
       DBCombo1.Text = ""
    End Sub
    					
  8. 執行該專案,然後鍵入符合在結合 DBCombo 控制項 (如 Curry Dave) 中的項目的名稱。
  9. 請按 ENTER 鍵。請注意 DBCombo1.SelectedItem 屬性不會更新。
  10. 清除中 DBCombo,文字,然後輸入名稱符合 (例如 Wellin Paul) 清單中的項目。
  11. 請按向上鍵或向下箭號鍵。請注意 DBCombo1.SelectedItem 會為"Wellin Paul 」 更新書籤。

屬性

文章編號: 281940 - 上次校閱: 2014年2月24日 - 版次: 3.2
這篇文章中的資訊適用於:
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 6.0 Learning Edition
關鍵字:?
kbnosurvey kbarchive kbmt kbbug kbcodesnippet kbctrl kbpending kbprb KB281940 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:281940
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com