山东力扬:ACCESS排序操作

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 07:44:23
现在ACCESS中一个名字TEST1的表中有一个名为NUM的字段,当时为了方便做其它操作,数据类型设为了“文本”,但里面的内容是为数字字符。现在要对这个NUM排序,但因为是文本,结果是"9">"10000"。
请教ACCESS的高手,在不改变数据表结构的情况下,怎么能做到"9"<"10000"?
因为之前在很多地方都写了与NUM相关的代码,都是按文本类型写的,如果把NUM改为了数字型,很多地方要重写,并且现在数据数据库中有不少数据,与在改为了数字型,担心有数据会错误或者丢失。请帮忙想想有其它办法吗?

2006.03.04
我结合“回答者:ZHRX - 魔法师 五级 2-28 18:46”以及“star1209 - 见习魔法师 三级 3-2 22:52”得到了我想要的结果,后者比前者答案详细,但用错函数,应该是CINT(),至少我是用这个函数才做出来。两位高手我都想给分,想了一下后,决定给后者。原因有二:1、是因为STAR1209更详细一些,2、是因为STAR1209比ZHRX等级低一些(我也是),要给新人晋级的机会嘛。请:ZHRX多多包涵。

Sql="Select * From Table1 Where Clng([Num])<10000"
Rs.Open Sql

Clng(Num)'把非数字类型的数字字符转换为数字
Clng("1")'转换结果为数字 1

转为数字类型呀,有这样的函数。

将NUM的数据类型转换成为"数字字符"型就可以了 其他地方一点也不需要修改的

先把它取出来附在整数类型int进行比较

转换为整数:Cint(rs("NUM")),然后进行比较判断。

排序语句后加DESC试试:
Order by NUM DESC