access解决标签事件获取不到文本框的值

2018-04-07 07:51:00
黄善超
原创
165


有网友在窗体中创建文本框,通过标签的单击事件来获取文本框的值。

结果发现获取文本框的值失败,如下图所示:


这是因为焦点还在原来的文本框 ,文本框的值还没有改变,所以获取失败。如果修改了内容,光标还没有离开文本框,那.Text属性改变了,但.Value还没有保存。标签 图片等没有焦点的。只有按钮 文本框 组合框 选项框 子窗体 等才有焦点。



解决办法:

1. 使用按钮等有焦点的控件
2. 可以设置另一个控件获得焦点 如 控件.SetFocus 强制使文本框失去焦点

3. 使用文本框的Text 属性




注意:文本框有两个属性.Text 和 .Value

.Text 是当前显示文本 ,是你正在文本框中输入的内容
.Value 是当前值,是文本框中真正的值


举个例子:

文本框Text1 的原内容是 “ABC
如果你在Text1中输入内容,将它改为“ABCDE,但光标还没有离开这个Text1
此时Text1 中的Text属性 是“ABCDE
但 Text1 中的Value属性 是 ABC
如果用标签的单击事件 可验证这个结果


但如果用 按钮的单击事件来 执行呢
因为按钮是有焦点的,光标就从Text1 移到了按钮,Text1失去了焦点,所以 Text1输入的新内容就保存到.Value中了,所以 Text1 中的Text属性和Value属性都是结果是一样的。都为“ABCDE

    分享