這讓我發瘋。我有一個訪問 VBA 表單,我希望允許用戶在框中鍵入檔案編號,以便直接跳轉到該記錄。
底層表作為一個欄位“DocNum”,并且編號始終是連續的。我希望搜索框顯示用戶所在的當前檔案編號,如果他們輸入不同的編號并按回車鍵,則它應該跳轉到該記錄(如果存在),或者如果它不存在,則留在當前記錄上.
我試圖通過將一個隱藏的文本框系結到“Doc??Num”和一個未系結的可見框來實作這一點。在 Form_Current() 上,使未系結框匹配基礎欄位。之后,更新我運行以下代碼來執行搜索。
Private Sub txt_DocNumSearch_AfterUpdate()
Dim rs As Object
Set rs = Me.RecordsetClone
With rs
rs.FindFirst "[DocNum] = " & Str(Me![txt_DocNumSearch])
If rs.NoMatch Then
MsgBox "Record not found."
GoTo Cleanup
Else
Me.Bookmark = rs.Bookmark
Exit Sub
End If
End With
Cleanup:
rs.Close
Set rs = Nothing
Set dbs = Nothing
End Sub
讓我發瘋的是,即使它沒有找到匹配項......它仍然會跳到下一個記錄。無論我做什么......最后移動,在我什至搜索之前嘗試添加書簽等等......我無法讓它不向前跳躍。我錯過了什么?
uj5u.com熱心網友回復:
嘗試簡化它:
Private Sub txt_DocNumSearch_AfterUpdate()
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
With rs
.FindFirst "[DocNum] = " & Str(Me![txt_DocNumSearch])
If .NoMatch Then
MsgBox "Record not found."
Else
Me.Bookmark = .Bookmark
End If
.Close
End With
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/374989.html
標籤:ms-access
上一篇:【轉】MySQL合理使用索引
