Office中国论坛/Access中国论坛

标题: 怎样控制文本框的输入,自动改变输入内容 [打印本页]

作者: benhh    时间: 2008-6-23 13:21
标题: 怎样控制文本框的输入,自动改变输入内容
我替别的部门做了一个小的Access数据库,他们的低级人员输入时,经常把空格打在名字的前面,于是我再写一段代码帮他们解决:
If Asc(Left([Full  Name], 1)) = 32 Then
MsgBox ("Oops, no space before the name")
Me.Undo
End If
我想改进一下,不过当我想把Me.Undo 改为 Me.Full__Name=Trim(Me.Full__Name)时却发生错误,我google了一下,觉得应该用OnLostFucus 的方式,不过具体怎样就不懂了,还请高人指点。谢谢!
作者: tz-chf    时间: 2008-6-23 13:41
afterupdate
作者: ui    时间: 2008-6-23 13:51
exit事件也可以
作者: Grant    时间: 2008-6-23 14:03
应该用函数去去除空格
LTrim,RTrim,及 Trim 函数示例
本示例使用 LTrim 及 RTrim 函数将某字符串的开头及结尾的空格全部去除。事实上只使用 Trim 函数也可以做到将两头空格全部去除。

Dim MyString, TrimString
MyString = "  <-Trim->  "    ' 设置字符串初值。
TrimString = LTrim(MyString)    ' TrimString = "<-Trim->  "。
TrimString = RTrim(MyString)    ' TrimString = "  <-Trim->"。
TrimString = LTrim(RTrim(MyString))    ' TrimString = "<-Trim->"。
' 只使用 Trim 函数也同样将两头空格去除。
TrimString = Trim(MyString)    ' TrimString = "<-Trim->"。
作者: office195    时间: 2008-6-23 15:33
学习啦,谢谢
作者: benhh    时间: 2008-6-24 09:07
沉得真快,我已经解决了问题,下面是代码:

Private Sub Full__Name_LostFocus()

If IsNull([Full  Name]) = True Then
Exit Sub
Else
If Asc(Left([Full  Name], 1)) = 32 Then
MsgBox ("No space before the name, correcting...")
Me.Full__Name = Trim(Me.Full__Name)
Else: Exit Sub
End If
End If

End Sub
作者: fswxs    时间: 2008-6-24 09:49
这样改了,提示显得有点多余啊[:48]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3