我想将“字段的任何部分”设为默认值(访问 VBA)

问题描述 投票:0回答:3

在 MSAccess (2007) 表单上的简单查找操作对话框中,我希望在出现查找和替换框时将“字段的任何部分”设置为默认值。

实际默认值为“整个字段”。我想我可以用下面的行来改变它:

DoCmd.FindRecord " ", acAnywhere, , , , , False

但这没有任何区别。其余代码工作正常(与命令按钮相关)。但上面那行无论是否存在都没有任何作用。请帮忙。我有以下代码:

Private Sub AppNAppFind_Click()
On Error GoTo AppNAppFind_Click_Err

On Error Resume Next
Err.Clear

DoCmd.FindRecord " ", acAnywhere, , , , , False
DoCmd.RunCommand acCmdFind


If (MacroError <> 0) Then
    Beep
    MsgBox MacroError.Description, vbOKOnly, ""
End If


AppNAppFind_Click_Exit:
   Exit Sub

AppNAppFind_Click_Err:
   MsgBox Error$
   Resume AppNAppFind_Click_Exit

我使用的是 Access 2007。

vba ms-access ms-access-2010 ms-access-2007
3个回答
1
投票

以下代码适用于 Access 2010。

Private Sub myFind_Click()
DoCmd.GoToControl "=[Screen].[PreviousControl].[Name]"
DoCmd.FindRecord " ", acAnywhere, False, acSearchAll, False, acCurrent, False
DoCmd.RunCommand acCmdFind
End Sub

我验证了本机上“查找”的 Access 默认值是“整个字段”,但是当我单击按钮时,“查找”对话框为“匹配”选择了“字段的任何部分”。


0
投票

我不确定这是否是 Access 2007 中的选项,但在 Access 2016 中,您可以转到

File > Options > Client Settings
并查找
Default find/replace behaviour
并将其从
Fast search
更改为
General search
,它将设置默认值找到要查找的设置:
Current document
并在
Any Part of Field
中匹配。

此设置适用于客户端,将在您打开的任何访问数据库中有效,并且是持久的。


0
投票

下面的VBA代码很简单并且运行良好。创建一个按钮并向其添加代码,以便您可以转到该字段,打开“查找/替换”对话框并将其设置为搜索当前字段和字段的任何部分。

私有子MyButton_Click() '将此用于子表单: '表单!MainForm!SubformControl.SetFocus '表单!MainForm!SubformControl.Form!MyControl.SetFocus

'将此用于标准表格: Me.MyControl.SetFocus '将焦点移动到搜索控制

SendKeys "^f", False '打开查找/替换对话框 SendKeys "%l{UP}", False '搜索当前字段 SendKeys "%ha", False '字段的任何部分

结束子

© www.soinside.com 2019 - 2024. All rights reserved.