ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5136|回复: 4

ACCESS文本框中的TEXT和VALUE有何区别?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-12-10 14:00 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
遇到一个非常奇怪的问题
file:///E:\Documents and Settings\zhj.SOUEAST-MOTOR\Application Data\Tencent\Users\1055513985\QQ\WinTemp\RichOle\FUKQO4AP3{A4B)CK{CJDO~S.jpg
我在窗体1的文本框[text0]里头输入  3, 然后用查询  select  [Forms]![窗体1]![Text0].[text],[Forms]![窗体1]![Text0].[value] into 1

1.jpg
打开表1竟然看到
2.jpg

怎么一个是3, 一个是2 呢? 难道 TEXT和 VALUE 是不一样的吗?  有什么区别?  帮忙看看,我应该怎么用这2个属性

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-10 14:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
baidu到了

ACCESS文本框的VALUE属性和TEXT属性确实容易搞混。两者都是引用文本框里的内容,但是引用的时机有分别。因为引用的时机不同,同样引用文本框里的内容,这两种属性值就会有时相同,有时又不相同。
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值将保持原样。

TA的精华主题

TA的得分主题

发表于 2012-12-10 18:53 | 显示全部楼层
exorca 发表于 2012-12-10 14:02
baidu到了

ACCESS文本框的VALUE属性和TEXT属性确实容易搞混。两者都是引用文本框里的内容,但是引用的时 ...

不错,非常仔细的同学。{:soso_e100:}
简而言之:Value就是已经保存了的值,Text就是正在编辑的值。

TA的精华主题

TA的得分主题

发表于 2012-12-11 09:31 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-2-3 16:37 | 显示全部楼层
这个比较有意思,以前怀疑过,但没深究,谢谢这么清楚的过程
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-10-8 09:14 , Processed in 0.032087 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表