Office中国论坛/Access中国论坛

标题: 检查出空格并自动删除 [打印本页]

作者: ycxchen    时间: 2009-2-24 11:40
标题: 检查出空格并自动删除
有个“员工”表,表中有“姓名”、“性别”、“地址”、“手机”等字段,请问,用什么代码可以检查出表中每行字段值前面或中间存在空格并自动删除空格呢?
作者: ACMAIN_CHM    时间: 2009-2-24 14:33
INSTR()


******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: chaojianan    时间: 2009-2-24 16:05
字段值前面存在空格的情况
iif(instr(1,"字段"," ",1)=1,ltrim("字段"),"字段")
中间的情况正在考虑。。。
作者: zyp    时间: 2009-2-24 16:41
用replace()
作者: chaojianan    时间: 2009-2-24 17:08
4# zyp

呵呵,replace(),不用考虑啦。
作者: wu8313    时间: 2009-2-24 17:20
是的,在查询中,新建一个列,写入 Replace([字段名]," ","")就可以了。
---------------------------------------------------------------------------
如果需要在窗体的控件输入环节,就自动去掉空格的话,可以使用如下代码(加入到通用模块中)
然后在窗体中的某个控件的更新后事件中调用就可以了
Public Sub replace_instr()
Dim frm As Form
Set frm = Screen.ActiveForm ' 返回指向活动窗体的 Form 对象
'检测当前控件输入中是否包含空格,无论包含几个,都删掉空格
If InStr(1, frm.ActiveControl.Value, " ", 1) > -1 Then
frm.ActiveControl.Value = Replace(frm.ActiveControl.Value, " ", "")
End If

'可以在控件更新后的事件中进行调用
End Sub
作者: ycxchen    时间: 2009-2-24 17:51
十分多谢大家的热心指教,特别是wu8313的详细指点!
作者: ycxchen    时间: 2009-2-24 17:56
如果在查询中,新建一个列,写入 Replace([字段名]," ","")来解决,但表中有4个字段,这样要新建4个列?这样理解对吗?
作者: wu8313    时间: 2009-2-24 18:17
是的。然后删掉原来包含空格的那4列。
作者: 蓝天8390    时间: 2009-2-24 18:45
不好意思,我还不会调用模块,哪位高手请教教我吧.
作者: 蓝天8390    时间: 2009-2-25 09:20
还是没人教我啊
作者: asklove    时间: 2009-2-25 10:41
wu8313 已经讲的很清楚了
我给你做个例子吧,你看看
作者: 蓝天8390    时间: 2009-2-25 15:19
谢谢这位朋友,又学了一招.
作者: ycxchen    时间: 2009-2-25 18:00
谢谢大家了!
作者: a30088    时间: 2009-12-25 13:36
谢谢




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