0
我在窗體中有一個列表框。點擊它會導致表單跳轉到另一條記錄。它應該突出顯示一個項目並跳轉到正確的記錄。相反,它會突出顯示並立即清除選擇,儘管它仍會跳轉到記錄中。當我使用標準記錄選擇按鈕時,項目被正確突出顯示。列表框項目在點擊時沒有突出顯示
我從.ListIndex屬性讀取所選項目的索引,因爲當我測試選擇哪個項目時,Selected()在單選模式下不起作用。但是,.ListIndex是隻讀屬性,我使用.Selected()突出顯示該項目。
乾杯!
編輯:下面的代碼:
Option Compare Database
Option Explicit
Private Sub Form_Current()
Call highlightListBox
End Sub
Private Sub lbListBox_Click()
Dim rs As DAO.Recordset
Dim indx As Long
Set rs = Me.RecordsetClone
If Not rs.BOF And Not rs.EOF Then
rs.MoveFirst
rs.FindFirst "[ID]=" & CStr(Me.lbListBox.ItemData(Me.lbListBox.ListIndex))
If Not rs.NoMatch Then
Me.Bookmark = rs.Bookmark
End If
End If
rs.Close
Set rs = Nothing
End Sub
Private Sub highlightListBox()
Dim lngIndx As Long
Dim lngI As Long
Dim bNoMatch As Boolean
lngIndx = 0
bNoMatch = True
If Me.NewRecord <> 0 Or IsNull(Me!ID) Then
For lngI = 0 To Me.lbListBox.ListCount - 1
Me.lbListBox.Selected(lngI) = False
Next lngI
Else
Do
lngIndx = lngIndx + 1
If CLng(Me.lbListBox.ItemData(lngIndx - 1)) = Me!ID Then
bNoMatch = False
End If
Loop Until CLng(Me.lbListBox.ItemData(lngIndx - 1)) = Me!ID Or lngIndx = Me.lbListBox.ListCount
End If
If Not bNoMatch Then
Me.lbListBox.Selected(lngIndx - 1) = True
End If
End Sub
a會發現一個SSCCE有用... –
我只是試圖解釋這個問題。希望這看起來更好 – Celdor