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

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

281940
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
當您使用 [從 DBList32.ocx DBCombo 控制項的型別預先搜尋功能不會更新 SelectedItem 屬性,而且 DBCombo 並無法反映找到相符的項目。
解決方案
修正程式現在可以從 Microsoft,但它只用來修正本文所述的問題。因此只提供給已遭遇此特定問題的電腦。此修正程式可能會接受其他測試。因此,如果您不會嚴重影響這個問題,Microsoft 建議您等候下一個的 Visual Studio Service Pack 包含此修正程式。

如果要立即解決這個問題,請連絡 Microsoft 產品支援服務以取得此修正程式。如需 Microsoft 產品支援服務電話號碼及支援成本的相關資訊的完整清單,請造訪下列 Microsoft 網站]:注意: 在特殊情況中通常會因支援電話所產生的費用如果,可能就不收取 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 ExplicitPrivate Const UP_ARROW = 38Private Const DOWN_ARROW = 40    Private Sub Data1_Reposition()   '   ' Copy Text from Bound Text2 to Unbound Text1.   Text1.Text = Text2.TextEnd 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 IfEnd SubPrivate 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 - 最後檢閱時間:02/24/2014 03:22:39 - 修訂: 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
意見反應