|
- '试过以下方法均不行,经测试,access没有一个方法设置这个关闭功能
- '只能关闭 选项里的 其它 自动更正功能,但对输入替换没有效果
- '(1)
- 'Application.SetOption "Perform Name AutoCorrect", True ' False
- 'Application.SetOption "Log Name AutoCorrect Changes", True ' False
- 'Application.SetOption "Track Name AutoCorrect Info", True ' False
- 'Application.SetOption "Database Explorer Click Behavior", 0
- '(2)
- 'SetOption "执行名称自动更正", 0
- '(3)
- '名称自动纠正在 option里
- '而这个设置在 "工具" --- 自动更正选项 我找到代码来打开它,但无法自动设置
- 'docmd.RunCommand acCmdAutoCorrect 可打开之,但无法设置里面的值
- '(4) 只有以下方法是真正有效的
- '----------------------------------
- '使用方法,将这个函数 复制到任何一个或新的模块中
- '保存整个MDB,然后按alt+F11进入代码状态
- '再按ctr+G 进入调试窗体,在调试窗体中 输入 tonySetAutoCorrectFalse
- '按回车执行即可
- 'tmtony 修改于 2012/08/20
- Public Sub tonySetAutoCorrectFalse()
- '要先确保你的系统中有引用DAO
- '作用,设置所有窗体中的所有文本框及组合框控件
- '自动关闭自动纠正功能
- '
- '例如:
- '1.在文本框输入hda 自动会变成 had 这是自动纠正 将其改为 英文单词had了
- '2.在组合框 如果下拉列表中有 b.l.c.等这样的内容,在组合框 输入b字, 整个内容都会跳出来,而不是渐进式匹配
- Dim MyDb As DAO.Database
- Dim frm As Document
- Dim ctr As Control
- Dim strFormName As String
- Set MyDb = CurrentDb()
-
- For Each frm In MyDb.Containers("Forms").Documents
-
- strFormName = frm.Name
-
- DoCmd.OpenForm strFormName, acDesign
-
- For Each ctr In Forms(strFormName).Controls
-
- Select Case ctr.ControlType
-
- Case acTextBox, acComboBox
-
- If ctr.AllowAutoCorrect = True Then
-
- ctr.AllowAutoCorrect = False
-
- End If
- End Select
-
- Next ctr
-
- DoCmd.Close acForm, strFormName, acSaveYes
-
- Next frm
- End Sub
复制代码 |
|