Access VBA 2016:如何获取包含输入掩码的TextBox字段值
获取带输入掩码格式的TextBox完整值
这是个很常见的小坑——TextBox的Value属性本来就会自动剥离输入掩码里的固定字符,只返回用户实际输入的内容。要拿到包含'J'和'-'的完整显示值,有两种靠谱的方法:
方法一:用Text属性(控件获焦时可用)
当你的TextBox处于获得焦点的状态时,直接调用[myfield].Text就能获取控件上显示的完整格式化内容,比如你要的"J123-321"。
不过要注意:如果控件没焦点,调用Text属性会触发运行时错误,所以这种方法适合在控件的Change、KeyPress这类事件里使用,或者确保你先让控件获得焦点再取值。
方法二:用Format函数手动补格式(无焦点限制)
如果需要在控件失去焦点后获取格式化值,直接对Value返回的原始内容用Format函数处理就行,完全不需要依赖控件焦点状态:
Dim formattedValue As String formattedValue = Format([myfield].Value, "J@@@-@@@")
这里的@和你输入掩码里的A作用一致(匹配任意字母/数字),刚好对应你输入的6位字符,处理后就能得到带"J"和"-"的完整格式值。
如果你的输入掩码里的固定字符更多或者规则更复杂,只需要把Format的第二个参数改成和输入掩码对应的格式字符串就行。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

