把全部Access文本类型字段的输入法模式关闭

2017-11-22 15:28:00
cg1
转贴
174

在Access表设计中,字段属性有一个“输入法模式”的功能。

我们可以使用 IMEMode 属性在焦点 切换到控件时设置控件的“日文汉字转换模式”。

说明

IMEMode 属性使用下列设置。

设置 说明 Visual Basic
随意 不设置“日文汉字转换模式”(默认值)。 0
开启 打开“日文汉字转换模式”。 1
关闭 关闭“日文汉字转换模式”。 2
禁用 禁用“日文汉字转换模式”。 3
平假名 设置全角平假名。 4
全角片假名 设置全角片假名。 5
半角片假名 设置半角片假名。 6
全角字母/数字 设置全角字母/数字。 7
半角字母/数字 设置半角字母/数字。 8
HangulFull 设置全角 Hangul。 9
Hangul 设置半角 Hangul。 10

如果设置为“随意”(默认值),则使用焦点切换到该控件之前的设置值。对于任何其他设置,将使用该控件的“日文汉字转换模式”设置。例如,如果 IMEMode 属性设置为“关闭”,则关闭“日文汉字转换模式”,而如果 IMEMode 属性设置为“开启”,则打开“日文汉字转换模式”。当焦点每次在控件之间切换时,“日文汉字转换模式”将自动更改。

如果设置为“禁用”,则不能更改“日文汉字转换模式”设置。如果使用任何其他设置,均可以更改“日文汉字转换模式”,但是当焦点改变时将丢失设置。




利用代码设置某表的输入法模式关闭

Function getTableInfo()
'引用DAO
Dim mydb As DAO.DATABASE
Dim myT As DAO.TableDef
Dim myFld As DAO.Field
Dim p
Set mydb = CurrentDb
For Each myT In mydb.TableDefs
    For Each myFld In myT.Fields
        Debug.Print myFld.Name
        For Each p In myFld.Properties
            Debug.Print p.Name
        Next
        If myFld.Properties("type") = dbText And Left(myT.Name, 4) <> "msys" Then
            myFld.Properties("ImeMode") = 2
            '1 开
            '2 关
            '0 随便
        End If
    Next
Next
End Function



效果图:

    分享