我在数据表视图中有一个拆分表单。用户经常使用表单底部的内置搜索框。如果表格是
RecordsetType=Snapshot
,那么搜索速度非常快。如果 RecordsetType=Dynaset
那么速度非常慢。
我使用以下代码制作了自己的文本框作为搜索框。有进步但不像以前那样
RecodsetType=Snapshot
:
Private Sub txtSearch_Change()
On Error GoTo ErrorHandler
Dim searchText As String
Dim sql As String
searchText = Me.txtSearch.Text
Dim rs As Recordset 'default DAO recordset
Set rs = Me.RecordsetClone
rs.FindFirst "[f1] like '*" & searchText & "*'"
If Not rs.NoMatch Then
Me.Bookmark = rs.Bookmark
Else
MsgBox "Not Found!"
End If
Me.txtSearch.SetFocus
Me.txtSearch.SelStart = Len(searchText)
Exit Sub
ErrorHandler:
MsgBox "Error Number: " & Err.Number & vbCrLf & Err.description
End Sub
表格有
AllowAdditons=False
并且只有一个检查字段需要更新。因此,我想搜索一下是否可以拥有数据表或连续未绑定表单,并通过 VBA 操作仅对一个字段进行更新。但我只找到了单一形式。
更新
如果您只需要修改一个复选框,则使用快照表单和默认搜索。然后添加一个按钮以通过代码切换复选框值。