ACCESS文本框中的TEXT和VALUE的区别
TEXT属性必须在文本框获得焦点的情况下才能引用,系统会在焦点离开文本框时将最后出现的TEXT值保存为VALUE值,焦点离开文本框后如果引用其TEXT属性就会报错。
VALUE属性则是文本框失去焦点后文本框里的值,或者文本框获得焦点时输入新值前的原有值或者说旧值。
下面例子有助于理解这两个属性的分别:
假设ACCESS窗体里有两个文本框,TEXT1和TEXT2 外加一个命令按钮COMMAND1,开始时那两个文本框内均无内容。
我们在TEXT1输入1,此时 TEXT1.Text=1 / TEXT1.Value=Null
接着在TEXT1输入2,此时 TEXT1.Text=12 / TEXT1.Value=Null
跟着在TEXT1输入3,此时 TEXT1.Text=123 / TEXT1.Value=Null
将焦点移到TEXT2,此时 TEXT1.Text=未知 / TEXT1.Value=123 (因为TEXT1已无焦点故其TEXT值未知)
再将焦点移回TEXT1,此时 TEXT1.Text=123 / TEXT1.Value=123
接着删除 TEXT1的内容,此时 TEXT1.Text=Null / TEXT1.Value=123
在TEXT1输入456,此时 TEXT1.Text=456 / TEXT1.Value=123
再将焦点移到TEXT2,此时 TEXT1.Text=未知 / TEXT1.Value=456
如果这个时候COMMAND1,单击事件过程为
Private Sub Command1_Click()
MsgBox Text1.Value '引用Value属性
End Sub
那么此时将弹出消息框,显示“456”
如果单击事件过程为
Private Sub Command1_Click()
MsgBox Text1.Text '引用Text属性
End Sub
那么这时系统就会报错,因为此时焦点在命令按钮上,不能引用TEXT1的TEXT属性。
大多数情况下,特别是文本框没有焦点时,引用文本框内容应使用VALUE属性,在文本框获得焦点的情况下我们则可以引用TEXT属性,以反映文本框内容的最新情况。例如,下列TEXT1的更改事件过程就可以实现在TEXT1里输入什么字符,TEXT2随即显示什么字符:
Private Sub Text1_Change()
TEXT2.Value = Text1.Text '引用Text属性
End Sub
注意:如果上述代码引用VALUE属性,则没有TEXT2显示的内容随TEXT1变化而变化的效果,因为文本框丧失焦点前其Value值将保持原样。
文献来源:http://club.excelhome.net/thread-955107-1-1.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现