您现在的位置:龙卷风首页 ›› 网络编程 ›› 阅读文章

Access 每日一帖的改进

Access 获取随机记录的方法。

第一次编码是这样的:

Dim Rs,Sql 
SQL = "select * from mytable"
 Set RS = GetSqlRecordSet(SQL)  '//getsqlrecordset是一个取得记录集的函数。
 Randomize
 Rnum = int(RND*RS.RecordCount)
 Dim i2,Speek,Speeker
  i2 = 0
 Do While Not RS.eof 
  IF i2 = Rnum Then
  Speek = RS("content")
  Speeker = Rs("author")
   End IF
 i2 = i2 + 1
 RS.MoveNext
 Loop


过了一段时间,觉得有可以改善的地方,于是改成:

Dim Rs,Sql 
SQL = "select * from mytable"
 Set RS = GetSqlRecordSet(SQL)  '//getsqlrecordset是一个取得记录集的函数。
 Randomize
 Rnum = int(RND*RS.RecordCount)
 Dim i2,Speek,Speeker
  i2 = 0
 Do While Not RS.eof 
  IF i2 = Rnum Then
  Speek = RS("content")
  Speeker = Rs("author")
  Exit Do
  End IF
 i2 = i2 + 1
 RS.MoveNext
 Loop


节省了一点儿剩作资源,但仍不是最好的,后来在网上看,原来可以直接把指针移动到某一记录,于是改成:

Dim Rs,Sql 
SQL = "select * from mytable"
 Set RS = GetSqlRecordSet(SQL)  '//getsqlrecordset是一个取得记录集的函数。
 Randomize
 Rnum = int(RND*RS.RecordCount)
 Dim Speek,Speeker
  Rs.Move Rnum
  Speek = RS("content")
  Speeker = Rs("author")

现在就在用这个。由于记录少,其实感觉不出有什么大区别。^_^

作者 不见不散 本文仅代表作者观点,与龙卷风资讯网立场无关。

我来说两句

1 楼 妖精 发表于 2005-8-5 From IP: 219.134.5.33
我faint!!我还没走呢
作者主页: 
内容/Content