access、excel取随机n条记录

 

一个简单的问题被我搞复杂了,googlebaidu都不行,我一直在想着怎么用access的语法来实现,也就是在

access上面做文章,回来的时候,灵机一动,既然是sql就应该可以用sql的语法来实现,何况我对access不很熟

原来的语句:

 

select TOP 100 * from OpenRowSet('microsoft.jet.oledb.4.0',';database=D:\Demo\WebService\WebSiteReadAccess\jxsdata.mdb','select top 100 * from question order by rnd(id)')

 

后来的语句:

sqlserver2005因为安全方面要加上注释了的几句

 

--exec sp_configure 'show advanced options',1

--reconfigure

--exec sp_configure 'Ad Hoc Distributed Queries',1

--reconfigure

select TOP 100 * from OpenRowSet('microsoft.jet.oledb.4.0',';database=mdbcls文件的路径','select * from 表名) ORDER  BY NEWID()

 

 

另外在网上找到的一个方法也不错:

 

select * from 表名order by Rnd(id-timer())

 

这个应该是最简单的,希望对大家有用

 

 

posted @ 2009-11-26 17:18  亦心  阅读(509)  评论(1编辑  收藏  举报