Office中国论坛/Access中国论坛

标题: 请教高手,文本型字段精确查询两者之间的问题---急,在线等 [打印本页]

作者: davidcsw    时间: 2007-4-4 19:35
标题: 请教高手,文本型字段精确查询两者之间的问题---急,在线等
字段是文本型,数值是如1005-1,1006-1,1007-2,1008-1;

如何能实现像数字型字段那样用BETWEEN来查询1005-1至1008-1内的数据,而并非文本型的模糊查询

[此贴子已经被作者于2007-4-4 11:44:59编辑过]


作者: davidcsw    时间: 2007-4-4 20:00
没人知道吗?

[em11]
作者: 方漠    时间: 2007-4-5 01:10
建一查询,内含表达式字段CCUR(LEFT(YourFieldName,4),然后再基于此字段设置BETWEEN条件.
作者: hi-wzj    时间: 2007-4-5 01:26
用>= "1005-1" and <="1008-1" 试试看?
作者: davidcsw    时间: 2007-4-5 02:22
谢谢大家帮忙,但是还是不成功,用了方漠的方法,其结果与直接在查询字段上设置BETWEEN条件一样,模糊查询;
作者: davidcsw    时间: 2007-4-5 02:31
版主HI-WZJ的>=,<=也试过了,结果也是一样


作者: davidcsw    时间: 2007-4-5 03:48
高手们,帮帮忙,我在线等了一天了
作者: 一点通    时间: 2007-4-5 03:52
处理方法,创建一个查询,先用Replace将"-"改为小数点,然后*1将文本型改为数值型,

SELECT Replace([字段名],"-",".")*1 AS 查找
FROM 表名
WHERE (((Replace([字段名],"-",".")*1)>=[最小值] And (Replace([字段名],"-",".")*1)<=[最大值]));

作者: wuaza    时间: 2007-4-5 06:26
以下是引用方漠在2007-4-4 17:10:00的发言:
建一查询,内含表达式字段CCUR(LEFT(YourFieldName,4),然后再基于此字段设置BETWEEN条件.

应该是   val(LEFT(YourFieldName,4))   吧?
作者: andymark    时间: 2007-4-5 07:02
SELECT 表1.A
FROM 表1
WHERE left(表1.A,4) & right(表1.A,1) Between 10051 And 10081
作者: davidcsw    时间: 2007-4-5 18:13
谢谢大家关注我的问题,想请问一点通,为什么我用了你的方法,提示Replace函数未定义?
作者: 一点通    时间: 2007-4-5 18:27
2003版本才能实现,2000版本要用VBA才行
作者: davidcsw    时间: 2007-4-5 18:43
那请问一下,VBA应该如何写,谢谢
作者: andymark    时间: 2007-4-5 19:50
直接用LEFT,RIGHT就能实现
作者: davidcsw    时间: 2007-4-5 21:07
谢谢ANDYMARK版主,用LEFT,RIGHT的话,查询出的连我字段里的1,2,3,10...100,101....1000....1005-1..等数据都查询出来.
作者: 一点通    时间: 2007-4-5 22:12
经测试,2000版本同样可以用Replace函数

[attach]23848[/attach]

作者: davidcsw    时间: 2007-4-5 22:22
谢谢一点通,我下了你的附件试了,还是出现Replace函数未定义,我查看了引用也是勾选了的,我用的是ACCESS2000
作者: 一点通    时间: 2007-4-5 22:35
哪就奇了,我是可以的,win xp  access2000

请其它人帮忙测试一下
作者: davidcsw    时间: 2007-4-5 22:42
是啊,我也奇怪了,我也是WINXP,ACC2000,引用了默认的4个引用,V B FOR APPLICATIONS/9.0 OBJECT/OLE AUTOMATION/ACTIVEX DATA OBJECTS 2.1
作者: andymark    时间: 2007-4-5 23:01
2000的可用INSTR定位 加left right函数实现Replace的功能

如果你的字符串长度固定格式一样,直接用left right就行了
作者: davidcsw    时间: 2007-4-5 23:14
搞笑,COPY到另一台机上就可以,也是WINXP,ACCESS2000,4个引用也是一样,怪死了
作者: davidcsw    时间: 2007-4-5 23:19
一点通的方法已解决问题,谢谢版主关注,问题现在是在我这台机上引用不了Replace函数,也没显示丢失...郁闷了




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